Bonjour le fil, bonjour le forum,
Même si très en retard, je propose cette solution VBA :
Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim TC As Variant 'déclare la variable TC (Tableau de Cellules)
Dim I As Integer 'déclare la variable I (Incrément)
Dim D As Object 'déclare la variable D (Dictionnaire)
Dim T As Integer 'déclare la variable T (Total)
Dim C As Byte 'déclare la variable C (Colonne)
Dim TMP As Variant 'déclare la variable TMP (tableau TeMPoraire)
Dim J As Integer 'déclare la variable J (incrément)
Set O = Sheets("Feuil1") 'définit l'onglet O (à adapter)
TC = O.Range("A1").CurrentRegion.Resize(, 14) 'définit le tableau de cellules TC
For I = 2 To UBound(TC, 1) 'boucles 1 : sur toutes les lignes I du tabelau de cellues TC (en partant de la seconde)
Set D = CreateObject("Scripting.Dictionary") 'définit le dictionanire D
T = 0 'initialise le total T
For C = 6 To 13 'boucle 2 : sur les colonnes 6 à 13 (=> F à M)
D(TC(I, C)) = "" 'alimente le dictionnaire D
Next C 'prochaine colonne de la boucle 2
TMP = D.Keys 'récupere dans le tableau temporaire TMP la liste des éléments du dictionnaire D sans doublon
For J = 6 To 13 'boucle 3 : sur les colonnes 6 à 13 (=> F à M)
'si la valeur en ligne I colone C de TC est égale à la dernière valeur du tableau temporaire TMP, Incrémente T de + 1
If TC(I, J) = TMP(UBound(TMP, 1)) Then T = T + 1
Next J 'prochaine colonne de la boucle 3
O.Cells(I, 14).Value = T 'revoie le total T dans la colonne 14 (=M)
Next I 'prochaine ligne de la boucle 1
End Sub