Comparaison de deux base de donnée

Bonjour a tous,

L'idée est de comparer la feuille f1 et f2 : de détecter sur une autre feuille les différences concernant le "départ" (C ) la fin" les frais (e) les hr(F) et date(H) par NOM

Merci de votre aide

92test.xlsx (145.79 Ko)

J'espère que j'ai été claire, je n'arrive à trouver de solutions !

Merci pour votre aide

Bonjour,

Peux-tu préciser ce que tu attends de cette comparaison ? (Dire si c'est différent ou non, calculer la différence, etc)

Merci.

1 - Dans une premier extraire les noms qui figure sur la feuille 2 et pas sur la 1

2 - De comparer entre la feuille 1 et 2 la colonne "Départ" "Fin" "frais" "hr" pour chaque nom .

3 - ensuite l'ideal serait qu'il y' ai une feuille avec les nouveaux nom(point n°1) et une autre avec les différence entre les 2 feuilles

Si besoin de plus infos n'hesitez car pas trop évident à expliquer et surtout à faire!

Merci encore de votre aide précieuse

En effet, plus d'informations me seraient nécessaires.

Qu'entends-tu par "comparer" précisément ?

Souhaites-tu présenter les deux valeurs sur la même ligne que le nom de la personne.

Souhaites-tu calculer une différence ?

Quel est le but de comparer les valeurs de la feuille 1 et 2 ?

Souhaites-tu rajouter les nouveaux noms de la feuille 1 sur la feuille 3 servant à extraire les noms de la feuille 2 ?

Cordialement,

J'ai mis en pièces jointes avec des exemples je pense que cela va etre plus clair, je suis désolé mais j'ai du mal à l'expliquer

Souhaites-tu présenter les deux valeurs sur la même ligne que le nom de la personne.

Oui (voir explications sur le fichier)

Souhaites-tu calculer une différence ?

Non pas de calcul

Souhaites-tu rajouter les nouveaux noms de la feuille 1 sur la feuille 3 servant à extraire les noms de la feuille 2 ?

oui

Logiquement les nouveaux noms se trouve sur la feuille 2. il faut extraire les noms de la feuille 2 qui ne figurent pas sur la une.

Encore merci de ton aide trop chaud pour moi

130test.xlsx (149.28 Ko)

Merci pour ces informations complémentaires, je commence à y voir plus clair.

Si j'ai bien compris :

  • Tu souhaites une feuille 3 reprenant tous les noms de la feuille 2 qui ne sont pas dans la feuille 1. Ceci avec l'ensemble des colonnes d'informations.
  • Tu souhaites une feuille 4 reprenant tous les noms présents sur la feuille 1 et 2 ainsi que possédant au moins une différence dans les colonnes d'informations.

Est-ce bien ça ?

Oui fatos c'est tous a fais ca ! J'ai eu un peu de mal . Merci de ton coup de pouce

D'accord, je vais commencer dès à présent.

Par contre, ton exemple me parait faux. Je m'explique : la personne DECAILLOZ Jacqueline est présente dans la feuille 1 donc ne devrait pas être affichée dans la feuille "Nouveau Nom". Je me trompe ?

Je pense néanmoins avoir compris tes besoins.

OUI TU AS RAISON Jai modifié les bases par des fictives mais tu as bien ciblé mon besoin! j'apprécie ton aide !

Salut le forum

Un code qui devrait répondre à ta demande

Option Explicit
Sub Extract()
Dim ws1 As Worksheet, ws2 As Worksheet
Dim wsNew As Worksheet, wsDiff As Worksheet
Dim CellInit As Range, CellFind As Range
Dim CellNew As Range, CellDiff As Range
Dim Cpt As Integer, Cpt2 As Integer

Set ws1 = [Feuil1]
Set ws2 = [Feuil2]
Set wsNew = [Feuil3]
Set wsDiff = [Feuil4]

Set CellNew = wsNew.Range("B2")
Set CellDiff = wsDiff.Range("B3")

For Each CellInit In ws2.Range("B2:B" & ws2.Cells(Rows.Count, 2).End(xlUp).Row)
  Set CellFind = ws1.Range("B2:B" & ws1.Cells(Rows.Count, 2).End(xlUp).Row).Find(what:=CellInit, LookIn:=xlValues, lookat:=xlWhole)
    If CellFind Is Nothing Then
      For Cpt = -1 To 6
        CellNew.Offset(0, Cpt) = CellInit.Offset(0, Cpt)
      Next Cpt
    Set CellNew = CellNew.Offset(1)
    Else
      For Cpt = 0 To 6
        If CellFind.Offset(0, Cpt).Value <> CellInit.Offset(0, Cpt).Value Then
          For Cpt2 = -1 To 6
            CellDiff.Offset(0, Cpt2) = CellInit.Offset(0, Cpt2)
            CellDiff.Offset(0, 8 + Cpt2) = CellFind.Offset(0, Cpt2)
          Next Cpt2
          Set CellDiff = CellDiff.Offset(1)
          Exit For
        End If
      Next Cpt
    End If
Next CellInit

Set ws1 = Nothing
Set ws2 = Nothing
Set wsNew = Nothing
Set wsDiff = Nothing
Set CellNew = Nothing
Set CellDiff = Nothing

End Sub

Mytå

Est-ce que tes bases de données réelles seront beaucoup plus grandes ?

Merci beaucoup à mita merci également à fatos cela fonctionne bien, les bases de données peuvent être plus grande mais guère

plus ! merci beaucoup.Ca m"a bien aidé

Bonjour Bounty,

Bonjour Myta,

Désolé de la tardiveté de ma réponse mais je n'ai pas eu beaucoup de temps pour ton fichier.

Même si Myta a déjà entièrement résolu ton problème, je te joins néanmoins ma solution avec des formules Excel (des colonnes masquées à ne pas modifier permettent les fonctions répondant à tes besoins).

Si le moindre problème (ou erreur de ma part) persiste, n'hésite pas à me contacter.

Cordialement,

Fatos

Bonjour mytos mya,

J'ai un soucis car avec les vrais bases cela ne fonctionne pas pour les modifications, car il y'a plusieurs fois les mêmes personnes sur les mêmes listes il n'a pas de matricules le lien ne peut être que sur les noms merci de votre aide car c'est trop chaud

Ci-joint fichier

38comparatif.xlsx (101.26 Ko)

Re le forum

Bounty a écrit :

J'ai un soucis car avec les vrais bases cela ne fonctionne pas pour les modifications, car il y'a plusieurs fois les mêmes personnes sur les mêmes listes il n'a pas de matricules le lien ne peut être que sur les noms.

Mon fichier fait déjà l'extraction depuis la base de noms.

Que souhaites-tu obtenir comme résultat final avec les doublons de noms. . . ?

Mytå

bonjour mita,

En faite il y'a des personnes dans les modification alors qu'il n'ont pas eu de modification,

Les personnes doivent s'afficher que s'il y'a eu modifications! Excuser moi je ne suis pe pas très claire


pou infos il y'a plus de 2000 lignes MERCI MITA DE TON AIDE

Re le forum

Comme erreur j'ai

ALLIOT Francois    2009-11-01    2010-10-30    10%    90    1 32 10 70 494 001    2010-06
ALLIOT Francois    2009-11-01    2010-10-30    15%    90    1 32 10 70 494 001    2010-06

Manquant sur feuille 1

AMMAN Ginette    2009-05-01    2010-04-30    21%    96    2 39 12 60 612 021    2009-06
AMMAN Ginette    2010-05-01    2011-04-30    21%    96    2 39 12 60 612 021    2010-12

C'est cela

Mytå

oui c'est cela! vous avez changer quelque chose

Rechercher des sujets similaires à "comparaison deux base donnee"