Sub Macro1()
Dim OE As Object 'déclare la variable OE (Onglet Export)
Dim OM As Object 'déclare la variable OM (Onglet Manuel)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim PLE As Range 'déclare la variable PLE (PLage onglet Export)
Dim PLM As Range 'déclare la variable PLM (PLage onglet Manuel)
Dim CEL As Range 'déclare la variable CEL (CELlule)
Dim R As Range 'déclare la variable R (Recherche)
Dim LI As Integer 'déclare la variable LI (LIgne)
Set OE = Sheets("export auto") 'définit l'onglet OE
Set OM = Sheets("tableau manuel") 'définit l'onglet OM
DL = OE.Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne 1 (=A) de l'onglet OE
Set PLE = OE.Range("A2:A" & DL) 'définit la plage PLE
DL = OM.Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne 1 (= A) de l'onglet OM
Set PLM = OM.Range("A2:A" & DL) 'définit la plage PLM
For Each CEL In PLE 'boucle sur toutes les celluels CEL de la plage PLE
'définit la recherche R (recherche la valeur entière de la cellule CEL dans la colonne 1 (=A) de l'onglet OM)
Set R = OM.Columns(1).Find(CEL.Value, , xlValues, xlWhole)
If R Is Nothing Then 'condition : si aucune occurrence n'est trouvée
'définit la ligne LI de la première cellule vide de la colonne A de l'onglet OM
LI = OM.Cells(Application.Rows.Count, 1).End(xlUp).Row + 1
CEL.Resize(, 2).Copy OM.Cells(LI, 1) 'copie la donnée de l'onglet OE dans l'onglet OM
End If 'fin de la conditioon
Next CEL 'prochaine cellule de la boucle
For Each CEL In PLM 'boucle sur toutes les celluels CEL de la plage PLM
'définit la recherche R (recherche la valeur entière de la cellule CEL dans la colonne 1 (=A) de l'onglet OE)
Set R = OE.Columns(1).Find(CEL.Value, , xlValues, xlWhole)
If R Is Nothing Then 'condition : si aucune occurrence n'est trouvée
OM.Rows(CEL.Row).Delete 'supprime la ligne de la cellule CEL
End If 'fin de la condition
Next CEL 'prochaine cellule de la boucle
End Sub