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:
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