Code VBA permettant de supprimer un faux message d'erreur

Code VBA permettant de supprimer un faux message d'erreur - VB/VBA/VBS - Programmation

Marsh Posté le 01-12-2005 à 13:17:50    

Bonjour à tous et à toutes,
 
J'ai modifié les marges d'impression. Quand je veux imprimer mon document sur Word 97, j'ai le message d'erreur suivant: "Les marges de la section 1 sont définies à l'extérieur de la zone d'impression de la page. Poursuivre l'impression? Je clique sur oui et l'impression est parfaite: mon document n'est pas coupé contrairement à ce que laisse supposer le message. Evidemment, si je veux imprimer toute une série de pages, j'ai systématiquement le message d'erreur. C'est assez fastidieux.
 
Quelqu'un peut-il me dire s'il existe un code en VBA permettant de répondre directement oui? Ce code sera rajouté à mon instruction ActiveDocument.Print Out Range:=wdPrintSelection, Copies=1.
 
Merci par avance

Reply

Marsh Posté le 01-12-2005 à 13:17:50   

Reply

Marsh Posté le 01-12-2005 à 13:58:35    

Je ne suis pas certain que tu puisses résoudre ton problème avec VBA et d'ailleurs tu n'as pas intérêt à essayer de le résoudre par cette voie.
 
Je te conseille vivement de tenter de trouver l'origine de cette erreur (surement dans mise en page du menu fichier)
 
bon courage

Reply

Marsh Posté le 01-12-2005 à 14:26:00    

Merci mais justement il n'y a pas d'erreur puisque l'impression est correcte.
 
Merci

Reply

Marsh Posté le 01-12-2005 à 22:18:52    

Je ne pense pas qu'il y ait une erreur dans le code. Cela m'est  arrivé plusieurs fois et je n'ai aucune solution satisfaisante. Cela vient probablement de Wd97.
On peut essayer, si le bouton "OUI" est selectionné l'instruction suivante à placer avant le code qui déclanche l'erreur :
SendKeys "{Enter}"
ActiveDocument.Print Out Range:=wdPrintSelection, Copies=1.
Le risque est  d'insérer un caracteère de saut de ligne dans le document actif au niveau du point d'insertion si l'erreur n'existe pas.

Reply

Marsh Posté le 02-12-2005 à 11:34:02    

TAM136
 
ton impression est certes correct MAIS les marges de ton document doivent être en dehors des marges acceptables par ton imprimante.
 
ton impression est correct parce que les textes images ou autres sont dans les marges de ton imprimante.
Sincèrement regarde dans fichier mise en page dans l'onglet marges et augmente une par une les distance entre le bord de ton document et les marges de ton document.
 
De toute façon je pense que tu n'as pas d'autre choix

Reply

Marsh Posté le 02-12-2005 à 12:41:51    

Je sais, je vais paraître un peu têtu mais je suis allé justement dans Fichier/Mise en page/Marges pour modifier les marges selon mon choix et c'est vrai que j'ai un message du type "Une ou plusieurs marges ont été définies au-delà de la zone imprimable. Utilisez le bouton "corriger" pour augmenter les marges voulues". Mais j'ai le choix entre "corriger et ignorer". Je choisis l'option "Ignorer". Je reviens donc à mon document.Quand je vais dans l'aperçu avant impression mon document n'est pas coupé et et il n'est pas coupé quand je l'imprime.
 
Par ailleurs, excuses moi mais tu dis que les marges de mon document doivent être en dehors des marges acceptables par l'imprimante et ensuite tu dis que les textes sont ou autres sont dans les marges de mon imprimante!
 
Je pensais à un code du type If MsgBox("Message d'erreur", vbYesNo..)
Then..
Le problème est que je n'y arrive pas (erreur de syntaxe) ou un message du type Application.Display Alerts=..mais j'ai toujours le message d'erreur comme si cette instruction n'avait aucun effet.
 
Par ailleurs, merci Epena mais effectivement, l'instruction EndKeys entraîne un saut de ligne mais surtout n'empêche pas l'apparition du message d'erreur, bien que le oui soit sélectionné d'office. Le code enter joue sur le document et non sur le message d'erreur.
 
De toute façon, je vais effectivement voir si effectivement VBA ne peut rien m'apporter. Merci en tout cas de votre aide.

Reply

Marsh Posté le 02-12-2005 à 13:10:42    

Dans le genre tétu tu te poses là
 
Voilà pour moi ce que j'appelle un code franchement inutile
 
Sub Macro3()
'
 
'
    Application.DisplayAlerts = false
 
   Application.PrintOut FileName:="", Range:=wdPrintAllDocument, Item:= _
        wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
        Collate:=True, Background:=True, PrintToFile:=False, PrintZoomColumn:=0, _
        PrintZoomRow:=0, PrintZoomPaperWidth:=0, PrintZoomPaperHeight:=0
         
    Application.DisplayAlerts = true
 
End Sub


Message édité par mfauxock le 02-12-2005 à 13:20:34
Reply

Marsh Posté le 02-12-2005 à 13:17:13    

mieux encore
 
sub toto()
 
Application.DisplayAlerts = False  
 
Dialogs(wdDialogFilePrint).Show
 
Application.DisplayAlerts = true
 
end sub  
 
Plus inutile que ça tu meurs : tu es sûre de ne pas vouloir appuyer sur corriger ; juste une fois  et je ne t'embête plus


Message édité par mfauxock le 02-12-2005 à 13:22:37
Reply

Marsh Posté le 02-12-2005 à 13:18:12    

naturellement il faut que tu crées ton petit bouton d'impression car l'impression de word ne te va pas

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed