Nom du fichier d'impression en vba excel [Résolu/Fermé]

Signaler
Messages postés
152
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
15 novembre 2017
-
Messages postés
152
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
15 novembre 2017
-
Bonjour,

Je souhaite que l'impression de mon fichier Excel soit effectuée sous le format ".prn" de façon à le stocker pour une impression ultérieure.
J'ai donc créé le code ci-dessous :

Sub Impr_Chq()
'
Dim Dest As String
'
With Sheets("Fond_Lettre_Chq")
Dest = Application.Proper(Range("Chq_Nom"))
'
Application.ActivePrinter = "HP LaserJet Professional P1606dn sur Ne04:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"HP LaserJet Professional P1606dn sur Ne04:", PrintToFile:=True, Collate:=True
Application.ActivePrinter = "Canon iR5055/5065 sur Ne06:"
End With
End Sub


Le souci est que, arrivé à la boite de dialogue qui permet d'insérer le nom du fichier (ici dans la variable "Dest"), je ne trouve pas le code nécessaire... Ce qui m'oblige à le rentrer manuellement. Pas cool...

Quelqu'un/une aurait un conseil à me fournir ?

Merci d'avance !



1 réponse

Messages postés
15256
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
3 août 2020
1 318
Bonjour,

si
PrintToFile:=True
, pour definir par programme le nom du fichier prn:
PrToFileName:= "chemin et nom de fichier"

Sub Impr_Chq()
'
Dim Dest As String
'
    With Sheets("Fond_Lettre_Chq")
        Dest = Application.Proper(Range("Chq_Nom"))
'
        Application.ActivePrinter = "HP LaserJet Professional P1606dn sur Ne04:"
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
            "HP LaserJet Professional P1606dn sur Ne04:", PrintToFile:=True, Collate:=True _
            , PrToFileName:=Dest
        Application.ActivePrinter = "Canon iR5055/5065 sur Ne06:"
    End With

End Sub
Messages postés
152
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
15 novembre 2017
11
Bonjour,

Bon... simple, quoi ! Fallait juste le savoir. ;)

Ce qui est assez amusant, c'est que j'ai parcouru pas mal de forums sur cette question précise. Aucun ne fournissait ne serait-ce qu'une approche de solution. Voire certains indiquant que cela n'est pas possible...

Merci beaucoup !

Le but étant de gérer l'émission de chèques automatiques, cela me permet d'optimiser cette tâche de façon vraiment significative.

Mon problème était d'imprimer ceux-ci sur un périphérique réseau partagé, sur des chèques pré-imprimés.

Pour ne pas se retrouver avec des impressions tierces qui se glisseraient dans celles des chèques (ceci étant arrivé plusieurs fois !), l'idée était de générer et de stocker un fichier d'impression par chèque émis, puis de lancer le job à un moment choisi, entre midi et deux par exemple, quand les collaborateurs sont partis déjeuner.

Pour parfaire mon appli, je vais maintenant essayer de coder ce qu'il faut pour gérer l'application que j'utilise pour lancer ces fichiers de façon automatique...

Peut-être à une prochaine question ? Qui sait... En tout cas vous m'avez sacrément bien aidé !
Et sans doute que cela pourra aider d'autres personnes qui cherchent, ou cherchaient, à résoudre cette question.