Macro impression VBA

Le
Droopy191
Bonjour,

J'ai un "bug" dans un fichier excel constitué de la sorte:
une feuille de saisie de données "Saisie_information"
et 3 feuilles qui sont remplies en fonction de cette feuille de saisie.
Un bouton sur la feuille "Saisie_information" qui imprime ou pas, une
certaine quantité de ces 3 feuilles.

Ca marche presque comme il faut, sauf que systématiquement, la feuille
**"Saisie_information" est aussi imprimée en premier **.


la macro qui déclenche l'impression :
pour chaque feuille, test si impression ou, et lancement impression avec
un paramètre quantité

-
Private Sub Impression_Docs()
'Impression

With ActiveWorkbook.Worksheets("Saisie_information")


'demande le choix d'imprimante ou sort
If Application.Dialogs(xlDialogPrint).Show = False Then
Exit Sub
End If

'Impression Demande de Transport
If .Range("F12").Value = True Then
Sheets("Demande Transport").PrintOut , ,
Copies:=Application.Worksheets("Saisie_information").Range("G12").Value,
Collate:lse, IgnorePrintAreas:lse
End If

'Impression BL
If .Range("F13").Value = True Then
Sheets("BL").PrintOut , ,
Copies:=Application.Worksheets("Saisie_information").Range("G13").Value,
Collate:lse, IgnorePrintAreas:lse
End If

'Impression PROFORMA
If .Range("F14").Value = True Then
Sheets("PROFORMA").PrintOut , ,
Copies:=Application.Worksheets("Saisie_information").Range("G14").Value,
Collate:lse, IgnorePrintAreas:lse
End If



End With

End Sub
-

Je rate un truc ou la macro est mal faite ?
Faudrait il sélectionner chaque feuille avant impression ?


Votre aide serait bienvenue.




--
DR

  • Partager ce contenu :
Vos réponses
Trier par : date / pertinence
Droopy191
Le #26553230
Merci
J'ai compris mon erreur avec Application.Dialogs(xlDialogPrint).Show
Et je teste votre macro dès lundi.
Par contre, Je ne vois pas comment est demandé le choix de l'imprimante
dans votre proposition.

--
DR
MichD
Le #26553244
Le 22/08/20 à 02:24, Droopy191 a écrit :
Merci
J'ai compris mon erreur avec Application.Dialogs(xlDialogPrint).Show
Et je teste votre macro dès lundi.
Par contre, Je ne vois pas comment est demandé le choix de l'imprimante
dans votre proposition.


Si tu dois faire le choix de l'imprimante, insère ceci au début de la
procédure :
'---------------------------------
Dim OK As Boolean
'Affiche la liste des imprimantes disponibles
OK =Application.Dialogs(Excel.XlBuiltInDialog.xlDialogPrinterSetup).Show
'Si l'usager ferme la fenêtre par "OK", l'impression est lancée.
If OK = False Then
'Si l'usager ferme la fenêtre par "Annuler", Arrêt de la procédure.
Exit Sub
End If
'---------------------------------
MichD
Poster une réponse
Anonyme