Copie de doublons dans un autre onglet

guenfood

XLDnaute Occasionnel
Bonjour,

Je souhaite comparer 2 onglets dans une feuille excel.
Toutes les données de l'onglet 2, dans la colonne A qui ne sont pas dans l'onglet 1 toujours dans la colonne A doivent être copiées et collées dans l'onglet 3.

Merci pour votre aide.
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Copie de doublons dans un autre onglet

Bonjour Guenfood, bonjour le forum,

je te propose la macro suivante :
Code:
Sub Macro1()
Dim f1 As Worksheet 'déclare la variable f1 (onglet Feuil1)
Dim f2 As Worksheet 'déclare la variable f2 (onglet Feuil2)
Dim pl1 As Range 'déclare la variable pl1 (Plage 1)
Dim pl2 As Range 'déclare la variable pl2 (PLage 2)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim r As Range 'déclare la variable r (Recherche)
Dim dest As Range 'déclare la variable dest (DESTination)
 
Set f1 = Sheets("Feuil1") 'définit l'onglet f1
Set f2 = Sheets("Feuil2") 'définit l'onglet f2
Set pl1 = f1.Range("A1:A" & f1.Range("A65536").End(xlUp).Row) 'définit la plage pl1
Set pl2 = f2.Range("A1:A" & f2.Range("A65536").End(xlUp).Row) 'définit la plage pl2
 
For Each cel In pl2 'boucle sur toutes les cellules cel de la plage pl2
    Set r = pl1.Find(cel.Value, , xlValues, xlWhole) 'définit la variable r
    If Not r Is Nothing Then 'condition : si il existe au moins une occurrence de cel dans la plage pl1
        Set dest = Sheets("Feuil3").Range("A65536").End(xlUp).Offset(1, 0) 'définit la cellule de destination
        cel.EntireRow.Copy dest 'copie la ligne entière de la celluel cel dans la cellule de destination dest
    End If 'fin de la condition
Next cel 'prochaine cellule cel de la plage pl2
MsgBox "Transfert terminé !" 'plan piqué à Efgé...
End Sub

Je te propose aussi de joindre une petit fichier exemple pour faciliter la tâche de ceux qui te viennent en aide (la prochaine fois)...
 

Discussions similaires

Statistiques des forums

Discussions
312 223
Messages
2 086 403
Membres
103 201
dernier inscrit
centrale vet