Bonjour,
Comment fait-on pour sélectionner par VBA n’importe quelle imprimante sauf celles qui donne le rendu en PDF? Ou encore, comment faire pour mettre en page un fichier Excel lorsqu’une imprimante « PDF » est sélectionnée
C’est que ma macro est utilisée par plusieurs usagers où je travaille. La macro met en forme un fichier extrait d’une BD avant de l’enregistrer sur l’intranet.
La raison pourquoi elle fait une mise en page est au cas où quelqu’un souhaiterait imprimer le document : la macro détermine la zone d’impression, la largeur des colonnes, les marges, le format de papier, etc.
Or, si par défaut l’usager a comme imprimante « Adobe PDF », la macro ne fonctionne pas comme il faut parfois. J’avais donc ajouté dans le code ces lignes :
Et à la fin du code, je remettais l’imprimante de l’usager
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Dim sPrinterOriginal As String sPrinterOriginal = Application.ActivePrinter 'Sélectionne l'imprimante générale du département Application.ActivePrinter = "\\svmimp1\Imp_NB sur Ne05:"
Tout fonctionnait très bien jusqu’à ce que j’aie cette nouvelle employée cette semaine qui utilise la macro pour la première fois et obtient l’erreur que la méthode ActivePrinter a échouée. Après certaines recherches, je constate que sur son poste de travail à elle l’imprimante, que nous utilisons dans mon département s’appelle « \\svmimp1\Imp_NB sur Ne06: » ! (au lieu de 05)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2'Remet l'imprimante de l'usager actif Application.ActivePrinter = sPrinterOriginal
Je n’ai aucune idée pourquoi ça fait ça mais j’aimerais savoir comment faire pour mettre en page un fichier Excel lorsqu’une imprimante « PDF » est sélectionnée?
Merci!
Souriane
Partager