Bonjour ,

Tout d’abord je tiens à préciser que Je ne suis pas un confirmé en programmation.
Voici mon problème que j’ai tenté de résoudre après des heures de recherches mais en vain car
Je ne retrouve pas en Feuille 2 les doublons qui devraient s’y trouver.

En effet j`ai une base de données (feuille1) et des nouvelles informations (feuille2).
Je souhaiterais comparer ce que j`ai dans ma nouvelle feuille par rapport à ce qui est déjà présent dans la base de données.
Ce qui est commun à la feuille 1 et 2, doit être supprimé dans la feuille 2.
A l’issue, le résultat de la feuille 2 doit venir se rajouter à la FEUILLE 1-
Merci pour l’aide que vous voudrez bien m’apporter.

voici mon fichier.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub TriHorizontalSELECTIONAlain()
 
Dim PlgALAIN As Range
 Application.ScreenUpdating = False
With Worksheets("Feuil1")
    Set PlgALAIN = .Range("X3:AA782")
End With
TriHorizontalALAIN PlgALAIN
Set PlgALAIN = Nothing
End Sub
 Sub TriHorizontalALAIN(Rg As Range)
Dim R As Range
 For Each R In Rg.Rows
    R.Sort Key1:=R.Cells(1, 1), Order1:=xlAscending, Header:=xlNo
Next
End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Sub RANGEBasedonnees()
 Sheets("Feuil1").Range("A1:D998").Value = Sheets("Feuil1").Range("Q3:T1000").Value
End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Sub RANGESELEC()
 Sheets("Feuil2").Range("A1:D780").Value = sheets("Feuil1").Range("X3:AA782").Value
End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub compare()                                                                                      
 
Dim LastLig1 As Long, LastLig2 As Long, i As Long
Dim c As Range
 
Application.ScreenUpdating = False
LastLig1 = Sheets("Feuil1").Cells(Rows.Count, 1).End(xlUp).Row
With Sheets("Feuil2")
    LastLig2 = .Cells(Rows.Count, 1).End(xlUp).Row
    For i = LastLig2 To 1 Step -1
        Set c = Sheets("Feuil1").Range("A1:A" & LastLig1).Find(.Range("A" & i).Value, lookat:=xlWhole)
        If Not c Is Nothing Then
            Set c = Nothing
            .Rows(i).Delete
 
       LastLig2 = LastLig2 - 1
 
        End If
    Next i
    If LastLig2 > 0 Then .Range("A1:A" & LastLig2).Copy Sheets("Feuil1").Range("A" & LastLig1 + 1)
End With
End Sub
Par avance merci.