Imprimer sélection ou tableau entier en VBA

Bonjour,

Pour le moment j'ai mon code pour imprimer tout mon tableau.

Sub imprimer()
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)" ' le ruban
With ActiveSheet
    .PageSetup.PrintArea = "TABstock"
    .PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False, Preview:=True
End With
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)" ' le ruban
End Sub

Je voudrais pouvoir ajouter une condition. Si je fais une sélection d'une partie de mon tableau avant de lancer ma macro, je voudrais qu'il prenne en compte la sélection faite et non plus le tableau entier. Et s'il ne trouve pas de sélection alors il prends le tableau entier.

Merci,

Bonjour,

Non testé, mais je tenterais un truc du genre :

Sub imprimer()
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)" ' le ruban
With ActiveSheet
    if selection.count = 1 then
    .PageSetup.PrintArea = "TABstock"
    else
    .PageSetup.PrintArea = selection
    End if
    .PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False, Preview:=True
End With
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)" ' le ruban
End Sub

Bonjour,

Une erreur sur

  .PageSetup.PrintArea = selection

"Nous n'avons pas trouvé de référence de plage ou de nom défini dans cette formule.

Merci,

Peut-être

Selection.address

?

edit : Apparemment ça ne fonctionne pas. J'imagine qu'il faudrait que tu crées une plage nommée temporaire, à partir de ta sélection, et que tu imprimes cette plage si jamais tu as plus d'une cellule sélectionnée.

J'ai trouvé la solution

Sub imprimer()
Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",True)" 

With ActiveSheet
    If Selection.Rows.Count > 1 Then
        Selection.EntireRow.PrintOut Copies:=1, Collate:=True, Preview:=True
    Else
    .PageSetup.PrintArea = "TABstock"
    .PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False, Preview:=True
    End If
End With

Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)"
End Sub

Merci !

Rechercher des sujets similaires à "imprimer selection tableau entier vba"