Comparer deux feuilles

Bonjour,

Je possède deux feuilles excel.

la première avec les colonnes NOM-PRENOM-DATE NAISSANCE-LIEU NAISSANCE.

la deuxième avec les colonnes NOM-PRENOM-DATE NAISSANCE-LIEU NAISSANCE et en plus deux colonnes DATE DECES-LIEU DECES.

Je précise que le premier fichier comprend plus de 500 000 enregistrements et je souhaite le comparer avec le deuxième fichier moins important en enregistrement qui comprend en plus la date et le lieu du décès. Mon but est d'ajouter dan le premier fichier lorsque le nom et le premier prénom et la date de naissance sont identiques d'ajouter la date et le lieu de décès. Ou de colorier une case pour saisir manuellement les informations

merci d'avance pour vos conseils.

Bonjour Jyd, bonjour le forum,

Essaie le code ci-dessous, à adapter à ton cas, puisque tu n'as pas daigné fournir un petit fichier exemple...

Sub Macro1()
Dim OL As Worksheet 'déclare la variable OL (Onglet Long)
Dim OC As Worksheet 'déclare la variable OC (Onglet Court)
Dim TL As Variant 'déclare la variable TL (Tableau Long)
Dim TC As Variant 'déclare la variable TC (Tableau Court)
Dim I As Long 'déclare la variable I (Incrément)
Dim J As Long 'déclare la variable J (incrément)

Set OL = Worksheets("Feuil1") 'définit l'onglet OL (l'onglet qui contient le plus de ligne sans les décès)
Set OC = Worksheets("Feuil2") 'définit l'onglet OC (l'onglet qui contient le moins de ligne avec les décès)
TL = OL.Range("A1").CurrentRegion 'définit le tableau TL (tableau de l'onglet long)
TC = OC.Range("A1").CurrentRegion 'définit le tableau TC (tableau de l'onglet court)
For I = 2 To UBound(TL, 1) 'boucle 1 : sur toutes les lignes I du tableau long (en partant de la seconde)
    For J = 2 To UBound(TC, 1) 'boucle 2 : sur toutes les lignes J du tableau court (en partant de la seconde)
        'condition : si les noms, prénoms et dates de naissance sont identiques
        If TL(I, 1) = TL(J, 1) And TL(I, 2) = TL(J, 2) And TL(I, 3) = TL(J, 3) Then
            'copie les deux dernières colonnes de la ligne du tableau court et les colle dans la 5ème cellule de la ligne du tableau long
            OC.Cells(J, 5).Resize(1, 2).Copy OL.Cells(I, 5)
            Exit For 'sort de la boucle 2
        End If 'fin de la condition
    Next J 'prochaine ligne de la boucle 2
Next I 'prochaine ligne de la boucle 1
End Sub

Bonjour,

Power Query permet de faire ça facilement. Si tu joins 2 fichier représentatifs, je veux bien regarder pour créer une requête

Bonsoir,

Merci pour ces 2 réponses, je joins 2 fichiers. Je souhaite partir du fichier1 et allez dans le fichier2 en vérifiant le nom, le premier prénom et la date de naissance, si je trouve une correspondance avec ces trois éléments je récupère dans le fichier2 la date et lieu de décès pour les placer dans le fichier sur la ligne correspondante.

Ou recherche similaire.

D'avance merci

3fichier1.xlsx (108.42 Ko)
2fichier2.xlsx (294.81 Ko)

Bonjour,

J'ai testé la macro mais le résultat n'est pas bon, désolé. merci

Bonjour,

Est-ce que le résultat serait bon ? (je n'ai que 3 correspondances)

oui les trois résultats sont bon, j'ai regardé power query mais ce n'est pas évident avez vous un tuto

Bonsoir à tous,

Une proposition sur le 1er prénom (toujours avec Power Query)

Quid des doublons ?

Tu peux en trouver facilement sur le net

Cette vidéo devrait t'aider :

Rechercher des sujets similaires à "comparer deux feuilles"