Résolu Si cellule = cellule du dessus, alors

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.
 

Haldriel

Helper
Meilleure réponse
Bonjour,

C'est intégré a du Excel? Si oui, alors pourquoi se faire suer avec du VBA alors que ca se fait tout seul avec un SI ?

En admettant que tes premières données soit en A1 et A2 En ligne B2, tu tapes
Code:
=SI(A1=A2;B1+1;0)

Et ensuite tu étires.

EDIT : pas vu au départ l'augmentation en fonction du nombre de doublons
 

fjtaillardat

Nouveau membre
Bonjour Haldriel, merci de votre réponse.

en effet, la solution se passe très bien de VBA.

sur une plage A2-A360, pour numéroter les doublons, cette formule fait parfaitement l'affaire:

=NB.SI($A$2:$A360;A360) à étirer.

 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 128
Messages
6 717 845
Membres
1 586 373
Dernier membre
https://forum.tomshardwar
Partager cette page
Haut