XL 2019 Comparer deux listes en VBA

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

eduraiss

XLDnaute Accro
Bonjour le forum

Je joins un fichier avec toute les explications

Il me faudrait si possible une automatisation VBA me permettant de comparer deux colonnes A et B et extraire en colonne C les noms présent en colonne B mais pas en colonne A

Merci de votre retour

Cordialement,
 

Pièces jointes

Bonjour Eduraiss, Chris,
Avec un peu de retard, un essai en PJ avec :
VB:
Sub Tri()
Dim DerLig As Integer, Lc As Integer, L As Integer
DerLig = Range("B65500").End(xlUp).Row
Range("C2:C1000").ClearContents
Lc = 2
For L = 2 To DerLig
    If Application.CountIf(Range("A:A"), Cells(L, "B")) = 0 Then
        Cells(Lc, "C") = Cells(L, "B")
        Lc = Lc + 1
    End If
Next L
End Sub
 

Pièces jointes

Bonjour Eduraiss, Chris, sylvanu,

une autre solution par tableaux et dictionary pour la rapidité:

VB:
Private Sub Eduraiss()
Dim DL1 As Long, DL2 As Long, Dico, i As Long, WS1 As Worksheet, T1, T2

Set WS1 = Worksheets("Feuil1")
Set Dico = CreateObject("Scripting.Dictionary")

DL1 = WS1.Range("A" & Rows.Count).End(xlUp).Row
DL2 = WS1.Range("B" & Rows.Count).End(xlUp).Row
T1 = WS1.Range("A2:A" & DL1)
T2 = WS1.Range("B2:B" & DL2)

For i = LBound(T2) To UBound(T2)
    Dico(T2(i, 1)) = ""
Next
For i = LBound(T1) To UBound(T1)
    If Dico.Exists(T1(i, 1)) Then Dico.Remove (T1(i, 1))
Next

If Dico.Count > 0 Then WS1.Range("C2").Resize(Dico.Count, 1) = Application.Transpose(Dico.keys)

End Sub
à adapter éventuellement

A+

edit : trop tard !!
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
13
Affichages
152
Retour