Extraction avec macro de 2 colonnes

Bonjour

J'ai deux colonnes A et B contenant des valeurs (numériques ou alphanumériques). je cherche un moyen avec une macro d'extraire les données de la colonne B qui ne sont pas dans A. pourquoi la macro, cette opération est répétitive.

Est ce possible, et si oui pouvez vous m'aider svp.

Cdlt

Bonjour,

Que veux-tu faire exactement ? Repérer ces données ? les noter à un autre emplacement ? les supprimer de la colonne B ?

A+

Bonjour

La solution serait de les noter a un autre emplacement tels colonne D

Q'en penses-tu

Merci

Cdlt

Une proposition avec une macro

Sub Test()
Dim PlageA As Range
Dim Ligne As Long
    With Worksheets("Feuil1")'Nom de feuille à adapter
        Set PlageA = .Range("A2:A" & .Range("A" & Rows.Count).End(xlUp))
        For Ligne = .Range("B" & Rows.Count).End(xlUp).Row To 2 Step -1
            If Application.CountIf(PlageA, .Range("B" & Ligne)) = 0 Then
                .Range("B" & Ligne).Copy .Range("D" & Rows.Count).End(xlUp).Offset(1)
            End If
        Next Ligne
    End With
End Sub

A+

bonjour

j'ai essayé d'intégrer ta macro mais comme je ne suis un expert, ça ne marche pas.

Mais j’aimerais comprendre pourquoi.

merci

Cdlt

7compare.xlsm (16.00 Ko)

Essaie comme cela

11compare.xlsm (18.04 Ko)

A+

Bonjour

que faut il faire pour que ça fonctionne? Je parle comment installer la macro.

je viens de tester avec mes données et j'ai un message d'erreur

erreur d’exécution "1004":

erreur définie par l'application ou par l'objet

Cdlt

Je ne peux pas te dire ce qui est différent entre le fichier exemple que tu as posté et l'original, j'ai cassé ma dernière boule de cristal.

Tu as bien adapté le nom de la feuille ?

A+

Bonjour

j'ai repris ton fichier et j'ai copié dans chaque colonne mes données puis j'ai appliquer ta macro

Je joins le fichier.

Cdlt

11compare.xlsm (19.97 Ko)

Essaie avec

Sub Test()
Dim PlageA As Range
Dim Ligne As Long
    With Worksheets("Feuil1") 'Nom de feuille à adapter
       Set PlageA = .Range("A1:A" & .Range("A" & Rows.Count).End(xlUp).Row)
        For Ligne = .Range("B" & Rows.Count).End(xlUp).Row To 1 Step -1
            If Application.CountIf(PlageA, .Range("B" & Ligne)) = 0 Then
                .Range("B" & Ligne).Copy .Range("D" & Rows.Count).End(xlUp).Offset(1)
            End If
        Next Ligne
    End With
End Sub

A+

Bonjour

Merci frangy pour ton aide

c'est super, ça va me faire gagner un temps fou.

Encore mille merci

Cdlt

Rechercher des sujets similaires à "extraction macro colonnes"