Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro impression VBA

2 réponses
Avatar
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:=False, IgnorePrintAreas:=False
End If

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

'Impression PROFORMA
If .Range("F14").Value = True Then
Sheets("PROFORMA").PrintOut , ,
Copies:=Application.Worksheets("Saisie_information").Range("G14").Value,
Collate:=False, IgnorePrintAreas:=False
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

2 réponses

Avatar
Droopy191
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
Avatar
MichD
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