Macro doublons sur 2 colonnes

Bonjour,

J'ai deux colonnes (A et G). Je cherche à créer une macro qui supprime de la colonne A tous les mots qui sont aussi dans la colonne G.

Merci de votre aide !

Bonsoir Jess, bonsoir le forum,

Peut-être comme ça :

Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim TA As Variant 'déclare la variable TA (Tableau de la colonne A)
Dim TG As Variant 'déclare la variable TG (Tableau de la colonne G)
Dim I As Integer 'déclare la variable I (Incrément)
Dim J As Integer 'déclare la variable J (incrément)
Dim PL As Range 'déclare la variable PL (PLage)

Set O = Sheets("Feuil1") 'définit l'onglet O (à adapter à ton cas)
TA = O.Range("A1:A" & O.Cells(Application.Rows.Count, 1).End(xlUp).Row) 'définit le tableau de cellules TA
TG = O.Range("G1:G" & O.Cells(Application.Rows.Count, 7).End(xlUp).Row) 'définit le tableau de cellules TG
Set PL = O.Range("B1") 'initialise la plage PL
For I = 1 To UBound(TG, 1) 'boucle 1 : sur toutes les lignes I du tableau TG
    For J = 1 To UBound(TA, 1) 'boucle 2 : sur toutes les lignes J du tableau TA
        If TA(J, 1) = TG(I, 1) Then 'condition si la valeur ligne J de TA est égale à la valeur ligne I de TG
            'redéfinit la plage PL (la cellule ligne J colonne 1 (=A) si l'adresse de PL est B1,
            'sinon la plage PL et la cellule ligne J colonne 1 (=A)
            Set PL = IIf(PL.Address = "$B$1", O.Cells(J, 1), Application.Union(PL, O.Cells(J, 1)))
        End If 'fin de la condition
    Next J 'prochaine ligne de la boucle 2
Next I 'prochaine ligne de la boucle 1
PL.Delete xlShiftUp 'efface la plage PL
End Sub

C'est exactement ce que je cherchais à faire, merci beaucoup de ton aide !

Rechercher des sujets similaires à "macro doublons colonnes"