Microsoft Boite de Dialogue Excel 5

  • Initiateur de la discussion Initiateur de la discussion inforeseau
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

inforeseau

XLDnaute Nouveau
Bonjour,

J'ai créer une boite dialogue excel 5
J'ai créer un bouton Impression
Avec un module VBA comme ceci

Sub ImpressionDevis()
ActiveWindow.DisplayHeadings = False
Sheets("ImpDevis").PrintOut
Sheets("Sommaire").Select
End Sub

le problème est que quand j'exécute ceci de la boite de dialogue excel 5
Il me met erreur d'exécution'1004':

La méthode PrinOut de la classe Worksheet a échoué

Quelqu'un pourrait il m'aider ??
Merci d'avance
 
Re : Microsoft Boite de Dialogue Excel 5

Bonsoir,

Ce n'est pas un problème avec ta boite de dialogue,
mais avec le nom de ta feuille "ImpDevis" à vérifier si pas d'espace ou autre !

A+
 
Re : Microsoft Boite de Dialogue Excel 5

Merci à toi pour ta réponse mais si je l'exécute depuis une feuille de classeur il effectue la macro sans erreur et effectue bien l'impression.
C'est pour ça que je ne comprends pas le problème qu'il peut y avoir.
 
Re : Microsoft Boite de Dialogue Excel 5

Ok je vois ce que tu veux dire et je comprends mieux mais je voudrais pouvoir imprimer cette feuille sans qu'elle s'affiche a l'écran.
Je pensais passe par un userform mais lorque que je l'appel j'ai toujours m'a boite de dialogue excel 5 qui est afficher à l'écran.
Je voudrais en fait que lorsque j'appel mon userform cette boite de dialogue disparaisse mais je ne sais pas comment faire. Car ça me permettrait de contourner mon problème.
Aurais tu une solution ???
Je te remercie en tout cas de tes réponses et de l'attention que tu portes et a porté à mes demandes.

Cordialement
 
Re : Microsoft Boite de Dialogue Excel 5

Salut,

Ce que tu peux faire pour "éviter d'afficher" la feuille à l'écran,
c'est empècher l'écran de se rafraichir, mais je ne suis pas certain que ça fonctionne !

Code:
Sub ImpressionDevis()
  ' Ferme le UserForm
  UserForm1.Hide
  ' Emèche le rafraichissement d'écran
  Application.ScreenUpdating = False
  Sheets("ImpDevis").Activate
  ActiveWindow.DisplayHeadings = False
  Sheets("ImpDevis").PrintOut
  Sheets("Sommaire").Select
  ' réactive le rafraichissement d'écran
  Application.ScreenUpdating = False
End Sub
 
Re : Microsoft Boite de Dialogue Excel 5

je te remercie beaucoup pour ton aide mais ça ne fonctionne toujours pas.
Par contre j'ai trouvé la solution que je donne ici si jamais ça peut intéresser quelqu'un.

Dans le module où on excécute la macro qui activer la boite de dialogue DialogSheets.Show

il faut rajouter :

Sub Print The Sheet ()
Application.OnTime Now + TimeValue("00:00:01"), "BackgroundPrint"
(Cette ligne va désactiver le DialogSheets"DialDevis".Show)
End Sub

Et toujours au même endroit il faut rajouter :

Sub BackgroundPrint ()
Sheets("Fond").Select
MenuImpresDevis.Show
End Sub

(ceci c'est pour le cas qui me concerne personnellement et qui fait appel à mon userform contenant le menu d'impression)

Mais si on veut lancer une impression directement il suffit de faire :

Sub BackgroundPrint ()
Sheets("ImpDevis").PrintOut
(qui va lancer l'impression du devis ou de la feuille désirée)
Application.OnTime Now + TimeValue("00:00:01"), "DialDevis"
(Ce qui va refaire appel à la boite de dialogue excel 5 qui contient le DialogSheets"DialDevis".Show)

Et ça fonctionne à merveille
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
795
Retour