Salut Apt,
Selon ton exemple, il n'y a jamais d'espace à l'intérieur des noms et prénoms et toujours un espace entre les noms et prénoms ; je peux donc te proposer la macro ci-dessous, placée dans le fichier V2.
Option Explicit
Sub Macro1()
Dim Cellule As Range
Application.ScreenUpdating = False
Range("A1:D5").Copy Destination:=[F1]
For Each Cellule In Range("G2:I5")
Cellule = Left(Cellule.Offset(0, -5), WorksheetFunction.Search(" ", Cellule.Offset(0, -5)))
Next
ActiveSheet.PageSetup.PrintArea = "$F$1:$I$5"
ActiveSheet.PrintOut
ActiveSheet.PageSetup.PrintArea = ""
Columns("F:I").Delete Shift:=xlToLeft
End Sub
Si tes noms et prénoms comportent des espaces, tu dois selon moi avoir une liste de noms quelque part - éventuellement caché en colonne O comme dans le fichier V3 ci-joint. Ca donnerait le code ci-dessous :
Option Explicit
Sub Macro1()
Dim Cellule As Range, i As Integer
Application.ScreenUpdating = False
Range("A1:D5").Copy Destination:=[F1]
For i = 1 To Range("O" & Rows.Count).End(xlUp).Row
For Each Cellule In Range("G2:I5")
On Error Resume Next
If Left(Cellule.Offset(0, -5), Len(Cells(i, 15))) = Cells(i, 15) Then Cellule = Cells(i, 15)
Next
Next
ActiveSheet.PageSetup.PrintArea = "$F$1:$I$5"
ActiveSheet.PrintOut
ActiveSheet.PageSetup.PrintArea = ""
Range("F1:I5").Delete Shift:=xlUp
End Sub
Cordialement.