Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Bases à comparer

ZEZEZE

XLDnaute Nouveau
Bonjour,

J'ai 2 bases dont je souhaite identifier les lignes qui différent entre la Base2 et la Base1. Disons que la Base2 est antérieure à la Base1.

Une clé, présente dans chaque base, permet la comparaison des lignes. En effet, les lignes peuvent être identiques d'une base à l'autre mais positionnées différemment dans le fichier.

Attention, je souhaite identifier les lignes même si le contenu d'1 cellule a été modifié, pour une même clé.

En résultat, l'identification de la ligne en cause présente dans la Base2 peut me suffire, en faisant apparaître la clé par exemple.

Merci de l'intérêt porté à ma demande.
Pierre
 

Pièces jointes

  • Bases à comparer.xls
    43 KB · Affichages: 106

pierrejean

XLDnaute Barbatruc
Re : Bases à comparer

bonjour 3ZE

Vois si cela te convient
 

Pièces jointes

  • Bases à comparer.zip
    19.1 KB · Affichages: 57
  • Bases à comparer.zip
    19.1 KB · Affichages: 60
  • Bases à comparer.zip
    19.1 KB · Affichages: 61

croco40

XLDnaute Occasionnel
Re : Bases à comparer

Pour pierrejean,
un petit coucou d'afrique, ou il ne fait que 40° (je sais qu'en france c'est pas la meme).
J'essaie de suivre un peu le forum depuis ici, mais l'acces a internet est assez limité.
Bonne continuation et le bisous a tout le reste du forum.
Suerte
Croco
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Bases à comparer

Bonjour,

Voir PJ

Comparaison BD

Code:
Sub BD2_BD1()
  Set f1 = Sheets("Base1")
  Set f2 = Sheets("Base2")
  Set MonDico1 = CreateObject("Scripting.Dictionary")
  For Each c In f1.Range("a2:a" & f1.[a65000].End(xlUp).Row)
    MonDico1.Item(c.Value) = c.Value
  Next c
  Set MonDico2 = CreateObject("Scripting.Dictionary")
  For Each c In f2.Range("a2:a" & f2.[b65000].End(xlUp).Row)
    If Not MonDico1.exists(c.Value) Then
      If Not MonDico2.exists(c.Value) Then MonDico2.Add c.Value, c.Row
    End If
  Next c
  Sheets("Différences dans la Base2").[A2].Resize(MonDico2.Count, 1) = Application.Transpose(MonDico2.keys)
  Sheets("Différences dans la Base2").[b2].Resize(MonDico2.Count, 1) = Application.Transpose(MonDico2.items)
End Sub

JB
 

Pièces jointes

  • CompareBDRapide.xls
    36 KB · Affichages: 114
Dernière édition:

ZEZEZE

XLDnaute Nouveau
Re : Bases à comparer

A PIERREJEAN

La ligne 3 correspondant à z2bb devrait également ressortir car Janvier et MArs sont différents.
La clé z1aa aussi car elle n'existe plus dans la BAse2.

A BOISGONTIER, j'ai votre site et j'ai regardé le fichier proposé. Mais cela ne correspond pas expressément à mon souhait.
Merci à tous les 2

Pierre
 

pierrejean

XLDnaute Barbatruc
Re : Bases à comparer

Re

Je n'avais pas saisi que la comparaison devait porter sur toute la ligne

Vois si cela va mieux
 

Pièces jointes

  • Bases à comparer.zip
    20 KB · Affichages: 53
  • Bases à comparer.zip
    20 KB · Affichages: 59
  • Bases à comparer.zip
    20 KB · Affichages: 57

ZEZEZE

XLDnaute Nouveau
Re : Bases à comparer

Re

Je n'avais pas saisi que la comparaison devait porter sur toute la ligne

Vois si cela va mieux

PIERREJEAN

Effectivement cela va mieux mais..: j'ai rajouté une ligne dans Base2 sans toucher à la Base1 et il ne me la pas sortie en "différences" (?)
Les bases citées sont des exemples. Il y a beaucoup plus de lignes et de colonnes.
Pierre
 

pierrejean

XLDnaute Barbatruc
Re : Bases à comparer

Re

Il y avait effectivement une erreur

Verifie cette version
Attention elle donne a la fois les differences dans la base1 et la base2
 

Pièces jointes

  • Bases à comparer.zip
    20 KB · Affichages: 58
  • Bases à comparer.zip
    20 KB · Affichages: 62
  • Bases à comparer.zip
    20 KB · Affichages: 57

ZEZEZE

XLDnaute Nouveau
Re : Bases à comparer

Re

Attention elle donne a la fois les differences dans la base1 et la base2

parfait ! mais...
Pouvez vous adapter la macro de façon que je ne sois pas limiter en terme de nombre de colonnes ? Je vais déjà avoir 24 mois (12 pour 2009 et 12 pour 2010).
Une macro prévue pour une 30taine de colonnes me conviendrait bien.
Grand merci
Pierre
 

ZEZEZE

XLDnaute Nouveau
Re : Bases à comparer


Encore moi...

J'ai modifié un "peu" mes 2 bases de données afin de les faire correspondre à mes besoins.
J'ai depuis un message d'erreur en appuyant sur la macro DIFF (!)
Je te joins mon fichier en PJ.

D'autre-part, BD1-BD2 ou l'inverse n'affiche pas les différences entre les 2 bases (moins urgent)
Merci
Pierre
 

Pièces jointes

  • Diff2BDtestforum.zip
    16.7 KB · Affichages: 56
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…