1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| Sub test()
Dim t, u, i, p 'les variables
t = Range("a65535").End(xlUp).Row ' la dernière cellule de la colonne A
For i = 1 To t ' ici la première cellule est en ligne 1 (un prem = Range("a61").End(xdown).Row pour des lignes variables en descendant est possible
u = 0 ' un interrupteur la variable peut être mise à Byte
p = i ' valeur du débute de boucle tant que
While Cells(p, 1).Value = Cells(i, 1).Value ' le Tant que
If Cells(p, 2).Value = "C" Or Cells(p, 2).Value = "D" Then
u =u+1 ' ce qui test la colonne b tant que
End If ' la valeur en colonne A est la même
p = p + 1 ' on incrémente en B
Wend ' fin de test sur colonne A
i = p - 1 ' on réajuste I à la bonne position (p-1)
If u > 2 Then ' si l'iterrupteur est mit
Cells(i, 3).Value = "Nok" ' la valeur en Colonne C
Elseif u>0 and u <=2 then
Cells(i, 3).Value = "(Almost ok)" ' sinon la valeur en colonne C
else
Cells(i, 3).Value = "Ok"
End If
Next ' on refait jusqu'à atteindre la valeur de T
End Sub |