OVH Cloud OVH Cloud

Imprimer 3 copies avec un peids de page different

5 réponses
Avatar
thierry schweitzer
Bonjour


J'ai un bon de chargement excel qui est remplit automatiquement avec des
macros a partir d'une base de donnée.
Est ce qu'il serais possible de faire un macro qui imprimerais 3 fois ce bon
de chargement mais en changeant le pieds de page pour les valeurs suivante
(Pieds de page a droite)

Copy 1, CARE JLC Project HQ
Copy 2, CARE JLC Warehouse Superviser: To be submitted to CARE JLC Project
HQ after completing Section G
Copy 3, Transporter copy

merci par avance de votre aide

Thierry

5 réponses

Avatar
thierry schweitzer
Il n'y a personne pour me filer un petit coup de main sur cette question :-(
Sniff

thierry

"thierry schweitzer" a écrit dans le message de
news:
Bonjour


J'ai un bon de chargement excel qui est remplit automatiquement avec des
macros a partir d'une base de donnée.
Est ce qu'il serais possible de faire un macro qui imprimerais 3 fois ce
bon de chargement mais en changeant le pieds de page pour les valeurs
suivante (Pieds de page a droite)

Copy 1, CARE JLC Project HQ
Copy 2, CARE JLC Warehouse Superviser: To be submitted to CARE JLC Project
HQ after completing Section G
Copy 3, Transporter copy

merci par avance de votre aide

Thierry



Avatar
MichDenis
Bonjour Thierry,

Dans le ThisWorkbook, copie ce qui suit :

Et remplace dans la procédure, le texte que tu veux voir imprimer sur chacune des copies

Copie1 , copie2 et copie3 par ton texte.

Tu as droit à 255 caractères maximum.

'----------------------------------------
Private Sub Workbook_BeforePrint(Cancel As Boolean)

Static A As Integer, Nb As Integer
Dim PiedPage As String

Nb = 3 'Nombre de copies

With ActiveSheet
For A = 1 To Nb
With .PageSetup
'définir la plage à imprimer de la feuille
.PrintArea = Range("A1:G25").Address
Select Case A
Case 1
PiedPage = "Copie1"
Case 2
PiedPage = "Copie2"
Case 3
PiedPage = "Copie3"
End Select
.LeftFooter = PiedPage
End With
Application.EnableEvents = False
.PrintOut
Application.EnableEvents = True
Next
.PageSetup.PrintArea = ""
End With
Cancel = True

End Sub
'----------------------------------------


Salutations!




"thierry schweitzer" a écrit dans le message de news:
Bonjour


J'ai un bon de chargement excel qui est remplit automatiquement avec des
macros a partir d'une base de donnée.
Est ce qu'il serais possible de faire un macro qui imprimerais 3 fois ce bon
de chargement mais en changeant le pieds de page pour les valeurs suivante
(Pieds de page a droite)

Copy 1, CARE JLC Project HQ
Copy 2, CARE JLC Warehouse Superviser: To be submitted to CARE JLC Project
HQ after completing Section G
Copy 3, Transporter copy

merci par avance de votre aide

Thierry
Avatar
Ellimac
Bonjour,

Avec l'enregistreur et quelques modifs :
Sub Titi()
For cpt = 1 To 3
If cpt = 1 Then
ActiveSheet.PageSetup.LeftHeader = "CARE JLC
Project HQ"
ElseIf cpt = 2 Then
ActiveSheet.PageSetup.LeftHeader = "CARE JLC
Warehouse" _
& "Superviser: To be submitted to CARE JLC Project
HQ after completing Section G"
Else
ActiveSheet.PageSetup.LeftHeader = "Transporter
copy"
End If
ActiveWindow.SelectedSheets.PrintOut Copies:=1,
Collate:=True
Next
End Sub

Camille

-----Message d'origine-----
Bonjour


J'ai un bon de chargement excel qui est remplit
automatiquement avec des

macros a partir d'une base de donnée.
Est ce qu'il serais possible de faire un macro qui
imprimerais 3 fois ce bon

de chargement mais en changeant le pieds de page pour les
valeurs suivante

(Pieds de page a droite)

Copy 1, CARE JLC Project HQ
Copy 2, CARE JLC Warehouse Superviser: To be submitted to
CARE JLC Project

HQ after completing Section G
Copy 3, Transporter copy

merci par avance de votre aide

Thierry


.



Avatar
thierry schweitzer
MErci beaucoup

ca marche a merveille
"MichDenis" a écrit dans le message de news:
O%
Bonjour Thierry,

Dans le ThisWorkbook, copie ce qui suit :

Et remplace dans la procédure, le texte que tu veux voir imprimer sur
chacune des copies

Copie1 , copie2 et copie3 par ton texte.

Tu as droit à 255 caractères maximum.

'----------------------------------------
Private Sub Workbook_BeforePrint(Cancel As Boolean)

Static A As Integer, Nb As Integer
Dim PiedPage As String

Nb = 3 'Nombre de copies

With ActiveSheet
For A = 1 To Nb
With .PageSetup
'définir la plage à imprimer de la feuille
.PrintArea = Range("A1:G25").Address
Select Case A
Case 1
PiedPage = "Copie1"
Case 2
PiedPage = "Copie2"
Case 3
PiedPage = "Copie3"
End Select
.LeftFooter = PiedPage
End With
Application.EnableEvents = False
.PrintOut
Application.EnableEvents = True
Next
.PageSetup.PrintArea = ""
End With
Cancel = True

End Sub
'----------------------------------------


Salutations!




"thierry schweitzer" a écrit dans le message de
news:
Bonjour


J'ai un bon de chargement excel qui est remplit automatiquement avec des
macros a partir d'une base de donnée.
Est ce qu'il serais possible de faire un macro qui imprimerais 3 fois ce
bon
de chargement mais en changeant le pieds de page pour les valeurs suivante
(Pieds de page a droite)

Copy 1, CARE JLC Project HQ
Copy 2, CARE JLC Warehouse Superviser: To be submitted to CARE JLC Project
HQ after completing Section G
Copy 3, Transporter copy

merci par avance de votre aide

Thierry





Avatar
Clément Marcotte
Un autre chiâleux qui voudrait que des bénévoles travaillent plus
vite pour lui qu'une boîte d'informatique.