Automatiser une impression

koukou40

XLDnaute Occasionnel
Bonjour !

Dans un fichier, j'ai plusieurs tableaux identiques les uns en dessous des autres. J'ai défini un nom à chacun afin de les imprimer un par un.
N'y aurait-il pas une solution (VBA ?) pour je puisse les imprimer tous en une seule manipulation ?

Je vous remercie,

Cdt,
 

noviceAG

XLDnaute Impliqué
Re : Automatiser une impression

Bonjour koukou, savertoo, le Forum,
Un essai avec zones nommées tata, titi, toto :

Sub LanceImpression()
Application.Goto Reference:="tata"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Application.Goto Reference:="titi"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Application.Goto Reference:="toto"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Range("A1").Select
End Sub

Bonne journée à vous tous
 
G

Guest

Guest
Re : Automatiser une impression

Bonjour à tous, le forum,

voici 2 macro à adapter. L'une avec aperçu avant impression pour chaque tableau et l'autre sans.

Remplacer 'Feuil1' par le nom de la feuille qui contient les tableaux
Remplacer 'Tableau 1, 2, 3 Par le noms des tableaux.

Code:
Sub ImprimerTableaux()
    With Sheets("Feuil1").Range("Tableau1")
        .PrintPreview           'Lance l'apperçu avant impression
        .PrintOut               'Lance l'impression
    End With
    
    With Sheets("Feuil1").Range("Tableau2")
        .PrintPreview
        .PrintOut
    End With
    
    With Sheets("Feuil1").Range("Tableau3")
        .PrintPreview
        .PrintOut
    End With
    
End Sub
Sub ImprimerTableaux2()
    With Sheets("Feuil1")
        .Range("Tableau1").PrintOut                'Lance l'impression
        .Range("Tableau2").PrintOut
        .Range("Tableau3").PrintOut
    End With   
End Sub

A+
 

STephane

XLDnaute Occasionnel
Re : Automatiser une impression

bonjour

tu peux définir une zone d'impression comprenant plusieurs plages comme montré ci-dessous
ActiveSheet.PageSetup.PrintArea = "$D$19:$E$23,$B$8:$C$12"

en manipulant la propriété address de l'objet plage tu devrais y arriver
exemple avec 2 plages nommées test1 & test2
ActiveSheet.PageSetup.PrintArea = [test1].Address & "," & [test2].Address

bye
 

Discussions similaires

Réponses
4
Affichages
367

Statistiques des forums

Discussions
312 361
Messages
2 087 625
Membres
103 608
dernier inscrit
rawane