Imprimer la première partie d'une cellule

Bonjour à tous,

Dans les colonnes B, C et D j'ai des nom+prénoms.

Est-ce qu'il y a un moyen de n'avoir que le nom lors d'une demande d'impression et supprimer le prénom ?

Merci d’avance.

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.

Bonsoir Yvouille,

Effectivement, les noms et prénoms comportent bien des espaces.

Donc la deuxième solution est plus généraliste.

Je vais la tester.

Merci.

Bonsoir Yvouille,

Merci pour la solution

Rechercher des sujets similaires à "imprimer premiere partie"