fjtaillardat
Nouveau membre
Bonjour,
Grand débutant en VBA, je cherche à effectuer la chose suivante:
en colonne A, il y a sur 30 lignes environ une liste de noms.
pour tout un tas de raison, il peut arriver que des noms apparaissent deux fois.
il ne s'agit pas ici de supprimer les doublons, mais bien de conserver les deux valeurs exactes.
mais je voudraisqu'en colonne B, un numéro s'affiche, de la manière suivante :
Colonne A Colonne B
nom 1
nom 1 1
nom 2
nom 3
nom 3 1
nom 3 2
nom 4
nom 5
nom 5 1
nom 5 2
voici le code que j'ai rentré :
Sub TEST()
Dim i, j, k As Integer
Dim test1, test2 As Variant
Dim colonneA As Range
Set colonneA = Range("A1:A16")
k = 0
i = 1
j = i - 1
test1 = Cells(i, 1)
test2 = Cells(i, 1)
For Each test1 In colonneA
For Each test2 In colonneA
If test1 = test2 Then test1.Offset(k, 1) = k
i = i + 1
k = k + 1
Next test2
Next test1
End
End Sub
aucun message d'erreur, mais un résultat incompréhensible.
Quelqu'un aurait-il un indice?
Je vous remercie pour votre aide.
Grand débutant en VBA, je cherche à effectuer la chose suivante:
en colonne A, il y a sur 30 lignes environ une liste de noms.
pour tout un tas de raison, il peut arriver que des noms apparaissent deux fois.
il ne s'agit pas ici de supprimer les doublons, mais bien de conserver les deux valeurs exactes.
mais je voudraisqu'en colonne B, un numéro s'affiche, de la manière suivante :
Colonne A Colonne B
nom 1
nom 1 1
nom 2
nom 3
nom 3 1
nom 3 2
nom 4
nom 5
nom 5 1
nom 5 2
voici le code que j'ai rentré :
Sub TEST()
Dim i, j, k As Integer
Dim test1, test2 As Variant
Dim colonneA As Range
Set colonneA = Range("A1:A16")
k = 0
i = 1
j = i - 1
test1 = Cells(i, 1)
test2 = Cells(i, 1)
For Each test1 In colonneA
For Each test2 In colonneA
If test1 = test2 Then test1.Offset(k, 1) = k
i = i + 1
k = k + 1
Next test2
Next test1
End
End Sub
aucun message d'erreur, mais un résultat incompréhensible.
Quelqu'un aurait-il un indice?
Je vous remercie pour votre aide.