Rémi B | 10 Apr 23:41

Re: Function utilisant comme variables de plages de cellules

Re,

J'ai un peu avancé dans ma fonction de moyenne pondérée.
Le problème demeure au niveau du type de variable... Si un cellule est 
vide, elle est interprétée comme contenant 0 (un absent a donc 0 !).

Il ne faut pas alors un type Variant, mais que mettre alors pour que 
"vide" soit bien "vide" et pas "0" ? Peut-être suis-je ne train de faire 
fausse route ?

Voici le code qui fonctionne bien en dehors de ce cas (toute critique 
bienvenue !)
Function MoyPond(plage_coeff as Variant, plage_notes as Variant) as 
Variant
total_notes_prod_coeff = 0
somme_coeff = 0
For i = Lbound(plage_coeff(),2) to UBound(plage_coeff(),2)
	if Not(IsEmpty(plage_notes(1,i))) Then
		If IsNumeric(plage_notes(1,i)) Then
		total_somme_prod_note_coeff = total_somme_prod_note_coeff 
+ plage_coeff(1,i)*plage_notes(1,i)
		somme_coeffs = somme_coeffs + plage_coeff(1,i)
		End If
	End If
next
If somme_coeffs > 0 Then
MoyPond = total_somme_prod_note_coeff/somme_coeffs
Else
MoyPond = "absent"
End if
End Function

la fonction est utilisée avec qqch de la forme : =MOYPOND(B2:D2;B3:D3)

Gmane