Pour chaque cellule, j'ai besoin de récuperer le nombre de valeurs distinctes présentes dans la 1ère ligne.
Exemple : Dans la sélection "A8:C8;H8;Z8:AB8", il y a des VRAI /FAUX. Je ne m'interesse qu'à celle qui contiennent un VRAI. Ma fonction doit renvoyer le connaître le nombre de valeurs distinctes présentes dans les cellules A1, B1, C1, H1, Z1, AA1, AB1 (je suppose qu'il y a un VRAI en A8, en B8, ...)
Pour l'instant, cela fonctionne avec un seul ensemble de valeurs situées les une à côté des autres, voilà mon code :
Function nbUvDistinctsObtenus(plageCellules As Range)
Dim cellule As Range
'Dim cellNomUv As Range
d = ""
nbUv = 0
nomuv = ""
For Each cellule In plageCellules
If cellule.Value = 1 Then
' il a un VRAI
Set nomuv = Worksheets("Diplome").Cells(1, cellule.Column)
If InStr(d, nomuv) = FAUX Then
d = nomuv + d
nbUv = nbUv + 1
End If
End If
Next
nbUvDistinctsObtenus = nbUv
End Function
La ligne 1 contient des noms d'UV qui peuvent se répéter, la colonne 1 contient des noms d'étudiants, et à l'intersection il y a des VRAI/FAUX selon que l'UV est acquis ou pas.