Impression de plusieurs feuilles de zone différentes même fichier

3 réponses
Avatar
Syleg
Bonjour Í  tous

Je souhaiterais avoir un exemple de macros pour imprimer dans un même fichier les feuilles ci-dessous avec leur zone d'impression.
Imprimante par défaut Pdf.

Merci
Bonne journée Í  vous.


Sub imprimertout()
Sheets("Feuil1").Range("A1:F108").PrintOut
Sheets("Feuil2").Range("A1:F54").PrintOut
Sheets("Feuil3").Range("A1:F45").PrintOut
Sheets("Feuil4").Range("A1:N36").PrintOut
Sheets("Feuil5").Range("A1:I54").PrintOut
Sheets("Feuil6").Range("A1:X35").PrintOut
Sheets("Feuil7").Range("A1:G45").PrintOut
Sheets("Feuil8").Range("A1:Z36").PrintOut
End Sub

3 réponses

Avatar
MichD
Le 23/06/22 Í  09:45, Syleg a écrit :
Bonjour Í  tous
Je souhaiterais avoir un exemple de macros pour imprimer dans un même fichier les feuilles ci-dessous avec leur zone d'impression.
Imprimante par défaut Pdf.
Merci
Bonne journée Í  vous.
Sub imprimertout()
Sheets("Feuil1").Range("A1:F108").PrintOut
Sheets("Feuil2").Range("A1:F54").PrintOut
Sheets("Feuil3").Range("A1:F45").PrintOut
Sheets("Feuil4").Range("A1:N36").PrintOut
Sheets("Feuil5").Range("A1:I54").PrintOut
Sheets("Feuil6").Range("A1:X35").PrintOut
Sheets("Feuil7").Range("A1:G45").PrintOut
Sheets("Feuil8").Range("A1:Z36").PrintOut
End Sub

Bonjour,
Je n'ai pas compris ce que tu veux faire...
Ces feuilles sont dans le même fichier, non?
Que veux-tu avoir exactement comme résultat final?
A )réunir toutes ces plages de cellules dans
une seule feuille d'un nouveau fichier ?
B ) si tu veux imprimer ces plages de cellules d'une
seule commande, quelle doit être la disposition des
données Í  l'impression? Ces plages ne sont pas de mêmes
dimensions.
MichD
Avatar
Syleg
Bonjour MichD
Je voudrais imprimer en PDF, toutes ces feuilles avec leur zone de plage dans un même fichier, normalement ça doit me faire douze feuilles.
Cdl.
Le jeudi 23 juin 2022 Í  16:43:25 UTC+2, MichD a écrit :
Le 23/06/22 Í  09:45, Syleg a écrit :
Bonjour Í  tous
Je souhaiterais avoir un exemple de macros pour imprimer dans un même fichier les feuilles ci-dessous avec leur zone d'impression.
Imprimante par défaut Pdf.
Merci
Bonne journée Í  vous.
Sub imprimertout()
Sheets("Feuil1").Range("A1:F108").PrintOut
Sheets("Feuil2").Range("A1:F54").PrintOut
Sheets("Feuil3").Range("A1:F45").PrintOut
Sheets("Feuil4").Range("A1:N36").PrintOut
Sheets("Feuil5").Range("A1:I54").PrintOut
Sheets("Feuil6").Range("A1:X35").PrintOut
Sheets("Feuil7").Range("A1:G45").PrintOut
Sheets("Feuil8").Range("A1:Z36").PrintOut
End Sub
Bonjour,
Je n'ai pas compris ce que tu veux faire...
Ces feuilles sont dans le même fichier, non?
Que veux-tu avoir exactement comme résultat final?
A )réunir toutes ces plages de cellules dans
une seule feuille d'un nouveau fichier ?
B ) si tu veux imprimer ces plages de cellules d'une
seule commande, quelle doit être la disposition des
données Í  l'impression? Ces plages ne sont pas de mêmes
dimensions.
MichD
Avatar
MichD
Le 23/06/22 Í  09:45, Syleg a écrit :
Bonjour Í  tous
Je souhaiterais avoir un exemple de macros pour imprimer dans un même fichier les feuilles ci-dessous avec leur zone d'impression.
Imprimante par défaut Pdf.
Merci
Bonne journée Í  vous.
Sub imprimertout()
Sheets("Feuil1").Range("A1:F108").PrintOut
Sheets("Feuil2").Range("A1:F54").PrintOut
Sheets("Feuil3").Range("A1:F45").PrintOut
Sheets("Feuil4").Range("A1:N36").PrintOut
Sheets("Feuil5").Range("A1:I54").PrintOut
Sheets("Feuil6").Range("A1:X35").PrintOut
Sheets("Feuil7").Range("A1:G45").PrintOut
Sheets("Feuil8").Range("A1:Z36").PrintOut
End Sub

Bonjour,
Essaie comme ceci.
Attention aux coupures de lignes de code par
le service de messagerie.
'-------------------------------------------------
Sub test()
'Le principe : Ajoute une feuille au classeur,
'copie toutes les données dans cette feuille
'crée le fichier PDF
'Supprimer la feuille ajoutée si désirée
Dim Sh As Worksheet, Nb As Long, NomFichier As String
Dim Arr(), Rg As Range, Elt As Variant
'Chemin et nom du fichier en pdf.
'Í  adapter selon ton environnement
Fichier = "F:ExcelNomDuFichier.pdf"
Arr = Array(Sheets("Feuil1").Range("A1:E10"),
Sheets("Feuil1").Range("A1:E10"), _
Sheets("Feuil2").Range("A1:F54"), Sheets("Feuil4").Range("A1:N36"), _
Sheets("Feuil5").Range("A1:I54"), Sheets("Feuil6").Range("A1:X35"), _
Sheets("Feuil7").Range("A1:G45"), Sheets("Feuil8").Range("A1:Z36"))
With Application
.EnableEvents = False
.ScreenUpdating = falase
End With
Set Sh = Worksheets.Add
For Each Elt In Arr
Set Rg = Elt
Rg.Copy Sh.Range("A1").Offset(Nb)
'Le +1 est pour laisser une ligne vide entre
'chaque plage de cellules
Nb = Nb + Rg.Rows.Count + 1
Next
Sh.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=Fichier, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:úlse, _
OpenAfterPublish:=True
'Ce qui suit supprime la feuille ajoutée au classeur
'après l'impression.
Application.DisplayAlerts = False
Sh.Delete
Application.DisplayAlerts = True
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
End Sub
'-------------------------------------------------
MichD