Bonjour,

Je m'arrache un peu les cheveux avec ma fonction...

Je souhaite faire une fonction Basic qui calcule une moyenne pondérée. 
Facile, la moyenne pondérée ! Il suffit de multiplier le coef par la 
note, d'ajouter le tout et de diviser par la somme des coefficients. 
C'est vrai... Sauf si une cellule devant contenir la note est vide ou 
contient du texte (absent par exple).

Ce "problème" se résout avec une base de SI(ESTNUM();;).

L'objectif ici est de créer une fonction faisant cela qui prendrait en 
argument des plages de cellules définies par l'utilisateur pour quelque 
chose comme =MOYPOND(A1:C1;A2:C2) avec en premier les coeff et en 
deuxième les notes. Je précise que ce ne sera pas toujours A1:C1, cela 
peut être aussi autre chose suivant l'utilisateur.

Tout mon problème consiste en la définition de cette fonction et donc 
récupération des données de chaque zone de cellule dans un tableau (je 
pense que c'est la bonne méthode ?).

J'ai testé :
Function MoyPond(plage_coeff as new com.sun.star.sheet.XCellRangeData, 
plage_notes as new com.sun.star.sheet.XCellRangeData) as Single

plage_coeff.getDataArray() me renvoie une erreur

Le code suivant fonctionne :

Set cellZoneCoeff = MaFeuille.getCellRangebyName("A1:C1")
ListeCoeff = CellZoneCoeff.getDataArray()
Coeff_0 = ListeCoeff(0)
MsgBox Coeff_0(0) ' contenu de A1

J'accède bien à mes donnée mais ce sont des références absolues, fixes...
Comment faire ?
Merci beaucoup.
Rémi.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à