Macro pour imprimer une sélection de pages de différents onglets classeur Excel

Résolu/Fermé
princesse82 Messages postés 58 Date d'inscription vendredi 1 mars 2013 Statut Membre Dernière intervention 16 juillet 2020 - 16 juin 2020 à 19:00
princesse82 Messages postés 58 Date d'inscription vendredi 1 mars 2013 Statut Membre Dernière intervention 16 juillet 2020 - 17 juin 2020 à 16:41
Bonjour, 
Je suis débutante en VBA et j'ai besoin de votre aide si vous voulez bien.
J'ai un classeur Excel entre autres 14 onglets. Chacun de ces 14 onglets porte le nom d'un établissement et comporte les bons de livraison correspondants (pour certains : midi et soir de lundi à dimanche , pour d'autres: midi et soir de lundi à vendredi , pour d'autres :seulement le soir du lundi au dimanche etc... 

Mon idée est de rendre moins chronophage l'impression de tous ces bons de livraison grâce à des boutons de commande Activex.
J'ai 7 boutons de commande (1 par jour : lundi, mardi....) (placés sur la feuille 2 en début de classeur).
Chaque bouton doit pouvoir imprimer les pages correspondant au jour attendu
(par exemple: en cliquant sur le bouton lundi, imprimer tous les bons de livraison correspondant à lundi (midi et soir confondus)

J'ai déjà créé les macros avec l'enregistreur de macros.
Les sélections à imprimer sont déjà renseignées mais l'impression ne marche pas ("l'imprimante indique un état d'erreur")

Voici la macro que j'ai enregistrée avec l'enregistreur de macros

Sub Imprimer_Lundi()
'
' Imprimer_Lundi Macro
'
'
Sheets("BL ETABLISSEMENT 1").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=2, Copies:=1, Collate _
:=True, IgnorePrintAreas:=False
Sheets("BL ETABLISSEMENT 2").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=2, Copies:=1, Collate _
:=True, IgnorePrintAreas:=False
Sheets("BL ETABLISSEMENT 3").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True, IgnorePrintAreas:=False
Sheets("BL ETABLISSEMENT 4").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
:=True, IgnorePrintAreas:=False
Sheets("BL ETABLISSEMENT 5").Select
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate
:=True, IgnorePrintAreas:=False
.............................................................etc jusqu'à ETABLISSEMENT 14
End Sub


Voici la macro correspondant au bouton que j'ai renommé LUNDI :

Private Sub CommandButton1_Click()
'
' Imprimer_Lundi Macro
'

'
etc...c'est le même contenu que la macro précédente
End Sub

Pouvez-vous m'aider svp ?

Merci beaucoup










Configuration: Windows / Edge 81.0.416.81
A voir également:

4 réponses

yg_be Messages postés 23327 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 15 novembre 2024 Ambassadeur 1 551
16 juin 2020 à 19:04
bonjour,
merci d'utiliser les balises de code quand tu postes du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code (en précsiant "basic" pour du vba)
quand et sous quelle forme reçois-tu ce message d'erreur?
vers quelle imprimante imprimes-tu?
1
princesse82 Messages postés 58 Date d'inscription vendredi 1 mars 2013 Statut Membre Dernière intervention 16 juillet 2020
16 juin 2020 à 19:40
Bonjour yg-be
Je veillerai à l'avenir à utiliser les balises (je ne connaissais pas).
- Le message apparaît lorsque je lance l'impression avec les boutons par exemple lundi.
- Le message apparaît sous forme de fenêtre en bas à droite de l'écran d'abord "Erreur d'impression sur Brother MFC-J5330DW" puis aussitôt "L'imprimante indique un état d'erreur".
- J'imprime sur l'imprimante citée ci-dessus
Simultanément à l'apparition de ces fenêtres d'erreur, l'ordi travaille comme si les pages sélectionnées étaient recherchées.
En consultant la file d'attente de l'imprimante, je constate sur la dernière ligne des documents attendus Erreur-Impression en cours. C'est le seul document qui a une taille de 2,5Mo/5,26Mo alors que les 14 autres ont une taille classique (2,68Mo ou 5,22Mo)
0
yg_be Messages postés 23327 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 15 novembre 2024 1 551
16 juin 2020 à 21:54
donc on dirait que ton code s'exécute bien, sans être interrompu.
0
Princesse82 > yg_be Messages postés 23327 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 15 novembre 2024
Modifié le 16 juin 2020 à 22:06
Si le code est juste je suis contente par contre j'ignore ce qui peut bloquer .
Est-ce que si des onglets sont masqués et ne font pas partie du code ça peut perturber l'impression ?
Par ailleurs , j'ai renommé le bouton Lundi ça n'est pas gênant ?
Private Sub CommandButton1_Click()
'
' Imprimer_Lundi Macro
'
Sinon est-ce que le nombre d'étapes n'est pas trop lourd pour ce code ?
0
yg_be Messages postés 23327 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 15 novembre 2024 1 551 > Princesse82
16 juin 2020 à 22:07
l'imprimante a-t'elle bien fonctionné quand tu as enregistré la macro?
qu'est-ce qui a changé entre-temps?
0
princesse82 Messages postés 58 Date d'inscription vendredi 1 mars 2013 Statut Membre Dernière intervention 16 juillet 2020
17 juin 2020 à 15:24
Bonjour yg_be,
Le problème était bien l'imprimante : une impression d'une simple feuille, sans macro, ne marchait pas non plus. Je n'aurais jamais pensé à ça en tout cas merci beaucoup !!!
Est-ce que tu pourrais m'aider pour un dernier point stp ?
Je voudrais intégrer un aperçu avant impression à chacun de mes boutons (lundi, mardi...)
J'ai cherché sur internet, j'ai vu beaucoup de choses pour une feuille, pour un classeur mais pas pour une sélection de feuilles comme dans mon cas
J'ai trouvé le code suivant :
Sub Apercu_Impression()
'Aperçu avant impression
Application.Dialogs(xlDialogPrintPreview).Show
End Sub

A priori il faut le copier dans un module du VBE mais je ne sais pas l'utiliser pour le relier à la macro Imprimer_Lundi par exemple.
Aurais-tu une idée ?
Merci beaucoup
0
yg_be Messages postés 23327 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 15 novembre 2024 1 551
17 juin 2020 à 15:43
je ne vois pas comment ajouter un seul aperçu de l'ensemble des 14 impressions.
0
princesse82 Messages postés 58 Date d'inscription vendredi 1 mars 2013 Statut Membre Dernière intervention 16 juillet 2020
17 juin 2020 à 16:41
Alors tant pis. Merci quand même pour ton aide. (j'ai noté le sujet résolu).
0