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