Bonjour,
J'ai une feuille (1) contenant une base de donnée
Je souhaite comparer les données d'une feuille(2) à ma bd.
- Si je trouve des id identiques, je vérifie si la ligne complète est identique. Sinon mise à jour de la bd (code ok)

- Si des id sont présent dans la feuille (2) et absent de la bd, j'ajoute la/les ligne(s) à la bd. (je ne vois pas trop comment faire)

Avez vous une idée, pour trouver les lignes présentes dans la feuille 2 et pas dans la bd (sans trier les colonnes de la bd)

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
23
24
25
26
27
28
29
 
Sub Compare()
Dim i&, Z1$, Identique As Range
 
With ThisWorkbook.Sheets(1).Range("A2:A6")
 
  For Each o In ThisWorkbook.Sheets(2).Range("A2:A6")
  'noter le N° de ligne
    i = o.Row
    'mémoriser la valeur de la cellule
    Z1 = o.Value
    'cherche les id identiques
    Set Identique = .Find(Z1, LookIn:=xlValues, LookAt:=xlWhole)
    'Si trouvé mémorise le N° de ligne
    If Not Identique Is Nothing Then
    FirstRow = Identique.Row
    MsgBox "ligne identique = " & Identique
        Do
          'Code si identique
          Set Identique = .FindNext(Identique)
          '...Tant qu 'on n'est pas revenu à la ligne de départ
        Loop While Not Identique Is Nothing And Identique.Row <> FirstRow
        'réinitialise la variable avant de changer de ligne
      FirstRow = ""
    End If
    '...cellule de référence (o) suivante
  Next
End With
End Sub