Bonjour,
J'ai besoin de supprimer les termes en doublons (séparés par des points virgules) dans une cellule. Je dois le faire pour chaque ligne dans un fichier de 7000 lignes. Pour que ce soit plus simple j'ai fractionné les termes dans différentes cellules (ce n'était peut-être pas une bonne idée?), ce qui donne une première plage A2:AU2. Je voulais comparer chaque cellule de la plage A2:AU2 avec toutes les cellules à sa droite jusqu'à la cellule AU2 et indiquer le contenu en doublon dans la cellule active. Je voulais pouvoir copier la cellule dans la ligne en dessous (A3:AU3) pour descendre dans tout le fichier (comme on fait avec les formules). J'ai essayé la macro ci-dessous (fournie gracieusement par ChatGPT) mais elle ne marche pas :
Est-ce qu'une âme charitable pourrait m'aider? Je suis nulle en VBA....
En vous remerciant d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 Sub comparerCellulesAvecDialogue() Dim plage1 As Range Dim cell As Range Dim doublon As String Set plage1 = Range("A2:AU2") For Each cell In plage1 ' Parcours chaque cellule de la plage1 doublon = "" ' Réinitialise la variable doublon For Each c In Range(cell.Offset(0, 1), plage1.Cells(plage1.Cells.Count)) ' Parcours chaque cellule à droite de la cellule actuelle If cell.Value = c.Value Then ' Compare la cellule avec celle à droite d'elle doublon = doublon & c.Value & " " ' Ajoute le contenu de la cellule en doublon dans la variable doublon End If Next c If doublon <> "" Then ' Si la variable doublon contient des doublons cell.Value = doublon ' Écrit le contenu de la variable doublon dans la cellule active End If Next cell End Sub
Alice
Partager