Bonsoir le forum
ce code est censé reconnaître les doublons il classe une liste par ordre croissant et si il trouve un doublon le nomme avec le même numéro
exp 1=1. 2=2. 2=2. 3=3. 4=4
mais cela ne marche pas tout le temps y a t'il une raison
merci à vous
Dim i As Byte, lig As Integer
Dim Plage As Range, Cell As Range
For i = 156 To 168 Step 4
Set Plage = Range(Cells(4, i), Cells(23, i + 2))
Plage.Sort Key1:=Cells(4, i), Order1:=xlAscending
For Each Cell In Range(Cells(4, i), Cells(23, i))
If Application.CountIf(Plage, Cell) = 1 Then
Cell.Offset(0, 2) = Cell.Offset(-1, 2) + 1
Else
If Cell <> Cell.Offset(-1, 0) Then
Cell.Offset(0, 2) = Cell.Offset(-1, 2) + 1
Else
Cell.Offset(0, 2) = Cell.Offset(-1, 2)
End If
End If
Next Cell
Plage.Sort Key1:=Cells(4, i + 1), Order1:=xlAscending
Next i
End Sub
ce code est censé reconnaître les doublons il classe une liste par ordre croissant et si il trouve un doublon le nomme avec le même numéro
exp 1=1. 2=2. 2=2. 3=3. 4=4
mais cela ne marche pas tout le temps y a t'il une raison
merci à vous
Dim i As Byte, lig As Integer
Dim Plage As Range, Cell As Range
For i = 156 To 168 Step 4
Set Plage = Range(Cells(4, i), Cells(23, i + 2))
Plage.Sort Key1:=Cells(4, i), Order1:=xlAscending
For Each Cell In Range(Cells(4, i), Cells(23, i))
If Application.CountIf(Plage, Cell) = 1 Then
Cell.Offset(0, 2) = Cell.Offset(-1, 2) + 1
Else
If Cell <> Cell.Offset(-1, 0) Then
Cell.Offset(0, 2) = Cell.Offset(-1, 2) + 1
Else
Cell.Offset(0, 2) = Cell.Offset(-1, 2)
End If
End If
Next Cell
Plage.Sort Key1:=Cells(4, i + 1), Order1:=xlAscending
Next i
End Sub