Macro de test d'imprimante qui ne fonctionne pas

Bonjour à tous.

Dans le cadre de mes activités associatives, j'ai écrit une macro qui me gère le verrouillage d'un document Excel, la gestion d'une référence chronologique sur la trame du document et son impression PDF.

J'utilise PDFCreator pour sortir le document en PDF.

Je dois pouvoir sortir ce document à partir de mon PC perso, ou du PC de l'association. Le hic, c'est que sur mon PC perso PDFCrerator est sur Ne00, tandis que sur le PC de l'association il est sur Ne01.

Jusqu'à maintenant, j'ai résolu le problème en définissant en dur PDFCreator sur Ne00 pour la partie que je fais, et sur Ne01 pour la partie qui est faite à partir du PC de l'association. L'inconvénient, c'est que si je ne suis pas dispo, il est impossible pour une autre personne de faire ma partie à partir du PC de l'association.

Pour faire rapide, c'est une logiciel qui permet d'éditer les dossiers de visite de maintenance des avions d'un aéroclub, et d'éditer ensuite le compte rendu de travaux. en tant que responsable agréé de la navigabilité, je suis en charge du dossier de visite, et le mécano est responsable du compte rendu de travaux. Mais le mécano est aussi mon adjoint donc habilité à éditer le dossier de travaux.

J'ai donc tenté de réécrire la macro pour test du port de PDFCreator avant de lancer l'impression. Je travaille sur ce petit module pour éviter de lancer toute la macro à chaque test :

Sub test()

'Test imprimante pdf

Dim Port As Integer

Dim Nom_impr As String

For Port = 0 To 9

Nom_impr = "PDFCreator sur Ne0" & Port & ":"

ActivePrinter = Nom_impr

On Error Resume Next

MsgBox Nom_impr

If ActivePrinter = Nom_impr Then Exit For

Next

End Sub

Le problème est que sur mon PC (Excel 2007) la macro fonctionne et la boite de dialogue s'affiche avec l'adresse de PDFCreator, mais sur le PC du club (Excel 97-2003), l'instruction ActivePrinter n'est pas reconnue.

La variable Nom_Impr est pourtant à la bonne valeur, et si on écrit en dur ActivePrinter = "PDFCreator sur Ne01:" ça marche.

Si quelqu'un peu me dire ce qui cloche, ça m'aiderais bien. Pour pouvoir utiliser ce logiciel, je dois le faire approuver par la DGAC, et donc je dois démontrer qui fonctionne à coup sûr.

Merci d'avance à ceux qui se pencherons sur le sujet.

Bonne soirée.

Manu

Bonsoir

J'ai utilisé plusieurs fois ce type de code sur 2003 et pas de souci

Forces Application

Sub test()

'Test imprimante pdf
Dim Port As Integer
Dim Nom_impr As String

For Port = 0 To 9
Nom_impr = "PDFCreator sur Ne0" & Port & ":"
Application.ActivePrinter = Nom_impr
On Error Resume Next
MsgBox Nom_impr
If Application.ActivePrinter = Nom_impr Then Exit For
Next
End Sub

Bonsoir,

Bonsoir, Banzai64

Euh, comme tu as Excel 2007, pourquoi tu n'utilises pas "Imprimer en pdf"?

Excel 2007 (et ultérieur) le permet, alors pourquoi s'en priver?

Pas besoin de PdfCreator ou autre....

Mais ce n'est que mon avis...

Bon W-E

Banzai, je vais essayer. Mais comme je le disais dans mon premier message, l'instruction ActivePrinter = " PDFCreator sur Ne01:" fonctionne même sans mettre application devant.

Cousinhub : le problème est que ça plante sur Excel 97-2003, pas sur mon 2007 surlequel ça marche très bien. La macro doit pouvoir tourner indifféremment sur les deux PC, donc j'ai pas le choix, je dois passer par PDFCreator.

Manu

Rechercher des sujets similaires à "macro test imprimante qui fonctionne pas"