Choix du format du papier

Le
Daniel AUBRY
Bonjour à tous,

j'ai résolu mon problème de choix du bac à papier
de mon imprimante (post "Choix d'un tiroir d'imprimante")
mais maintenant je me heurte au format du papier.
Je veux imprimer en A6 (mon imprimante le fait très bien
depuis Word) et je m'y prend ainsi :

Printer.DrawWidth = 2
Printer.ScaleMode = vbMillimeters
Printer.Orientation = vbPRORPortrait
Printer.Copies = 1

'tiroir manuel
Printer.PaperBin = 4

'vbPRPSA5 existe mais pas vbPRPSA6 alors
Printer.PaperSize = vbPRPSUser
Printer.Width = 105
Printer.Height = 148

Et là, ça plante sur Printer.PaperSize = vbPRPSUser
Erreur d'execution 380, Valeur de propiété incorrecte !!!!

J'ai fait le Net de long en large mais sans succès.

Bon dimanche à tous,

Dany
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Christian Hugoud
Le #18134861
As-tu au préalable sélectionné le bon driver d'imprimante ?

Christian


"Daniel AUBRY" 4944db2b$0$32049$
Bonjour à tous,

j'ai résolu mon problème de choix du bac à papier
de mon imprimante (post "Choix d'un tiroir d'imprimante")
mais maintenant je me heurte au format du papier.
Je veux imprimer en A6 (mon imprimante le fait très bien
depuis Word) et je m'y prend ainsi :

Printer.DrawWidth = 2
Printer.ScaleMode = vbMillimeters
Printer.Orientation = vbPRORPortrait
Printer.Copies = 1

'tiroir manuel
Printer.PaperBin = 4

'vbPRPSA5 existe mais pas vbPRPSA6 alors
Printer.PaperSize = vbPRPSUser
Printer.Width = 105
Printer.Height = 148

Et là, ça plante sur Printer.PaperSize = vbPRPSUser
Erreur d'execution 380, Valeur de propiété incorrecte !!!!

J'ai fait le Net de long en large mais sans succès................

Bon dimanche à tous,

Dany



Daniel AUBRY
Le #18135671
Oui, Christian.
Je m'y prend ainsi

Je charge toutes les imprimantes disponibles
dans une liste déroulante de cette façon :

ListeImprimante.Clear

For Each ImpVB In Printers
ListeImprimante.AddItem ImpVB.DeviceName
Next

If ListeImprimante.ListCount > 0 Then ListeImprimante.Text =
Printer.DeviceName

Ensuite quand je lance l'impression, j'imprime sur l'imprimante
sélectée dans la liste de cette façon :

For Each ImpVB In Printers
If ImpVB.DeviceName = ListeImprimante.Text Then
Set Printer = ImpVB
Exit For
End If
Next

Donc pas de problème pour choisir l'imprimante, cela fonctionne tip-top.

Dany

"Christian Hugoud"
As-tu au préalable sélectionné le bon driver d'imprimante ?

Christian


"Daniel AUBRY" 4944db2b$0$32049$
Bonjour à tous,

j'ai résolu mon problème de choix du bac à papier
de mon imprimante (post "Choix d'un tiroir d'imprimante")
mais maintenant je me heurte au format du papier.
Je veux imprimer en A6 (mon imprimante le fait très bien
depuis Word) et je m'y prend ainsi :

Printer.DrawWidth = 2
Printer.ScaleMode = vbMillimeters
Printer.Orientation = vbPRORPortrait
Printer.Copies = 1

'tiroir manuel
Printer.PaperBin = 4

'vbPRPSA5 existe mais pas vbPRPSA6 alors
Printer.PaperSize = vbPRPSUser
Printer.Width = 105
Printer.Height = 148

Et là, ça plante sur Printer.PaperSize = vbPRPSUser
Erreur d'execution 380, Valeur de propiété incorrecte !!!!

J'ai fait le Net de long en large mais sans succès................

Bon dimanche à tous,

Dany







Christian Hugoud
Le #18136181
J'ai fait un test : cela dépend du driver d'imprimante. Certains ne prennent
pas les tailles utilisateurs, et on récupère une erreur 9.

Sur un driver qui les prend (PDF X-Change 3), impossible de mettre la taille
que l'on souhaite (sans trop chercher).

Bon courage

Christian
David
Le #18136171
Bonjour Daniel,

En utilisant le code comme expliqué ici :

http://www.freevbcode.com/ShowCode.Asp?ID646

le résultat n'a pas l'air mal;
MAIS je n'ai pas d'imprimante sur place pour tester
et j'utilise Microsoft Office Document Image Write
comme imprimante par défaut !

Voici ton code modifié et qui a l'air de donner un résultat à l'écran :

Private Sub Command1_Click()
'Printer.DrawWidth = 2
' Printer.ScaleMode = vbMillimeters
Printer.Orientation = vbPRORPortrait
Printer.Copies = 1

'tiroir manuel
'Printer.PaperBin = 4

'vbPRPSA5 existe mais pas vbPRPSA6 alors
'Printer.PaperSize = vbPRPSUser
Printer.Height = 4.13 * 1440
Printer.Width = 5.83 * 1440
Printer.FontSize = 10

Printer.Print "test"
Printer.EndDoc
End Sub

Remarque : sur le web "international" je trouve souvent des
solutions que je ne trouve pas sur le web francophone,
bien que je ne domine pas très bien la langue anglaise.
--
a+ Jean-Pol
Site Web : www.colovid.be
Site Web perso pour le fun : http://users.skynet.be/DAVID/


"Daniel AUBRY" 4944db2b$0$32049$
Bonjour à tous,

j'ai résolu mon problème de choix du bac à papier
de mon imprimante (post "Choix d'un tiroir d'imprimante")
mais maintenant je me heurte au format du papier.
Je veux imprimer en A6 (mon imprimante le fait très bien
depuis Word) et je m'y prend ainsi :

Printer.DrawWidth = 2
Printer.ScaleMode = vbMillimeters
Printer.Orientation = vbPRORPortrait
Printer.Copies = 1

'tiroir manuel
Printer.PaperBin = 4

'vbPRPSA5 existe mais pas vbPRPSA6 alors
Printer.PaperSize = vbPRPSUser
Printer.Width = 105
Printer.Height = 148

Et là, ça plante sur Printer.PaperSize = vbPRPSUser
Erreur d'execution 380, Valeur de propiété incorrecte !!!!

J'ai fait le Net de long en large mais sans succès................

Bon dimanche à tous,

Dany






--
a+ Jean-Pol
Site Web : www.colovid.be
Site Web perso pour le fun : http://users.skynet.be/DAVID/


"Daniel AUBRY" 4944db2b$0$32049$
Bonjour à tous,

j'ai résolu mon problème de choix du bac à papier
de mon imprimante (post "Choix d'un tiroir d'imprimante")
mais maintenant je me heurte au format du papier.
Je veux imprimer en A6 (mon imprimante le fait très bien
depuis Word) et je m'y prend ainsi :

Printer.DrawWidth = 2
Printer.ScaleMode = vbMillimeters
Printer.Orientation = vbPRORPortrait
Printer.Copies = 1

'tiroir manuel
Printer.PaperBin = 4

'vbPRPSA5 existe mais pas vbPRPSA6 alors
Printer.PaperSize = vbPRPSUser
Printer.Width = 105
Printer.Height = 148

Et là, ça plante sur Printer.PaperSize = vbPRPSUser
Erreur d'execution 380, Valeur de propiété incorrecte !!!!

J'ai fait le Net de long en large mais sans succès................

Bon dimanche à tous,

Dany



Jacques93
Le #18136311
Bonjour Daniel AUBRY,
Le 14/12/2008 11:09, Daniel AUBRY a écrit :
Bonjour à tous,

j'ai résolu mon problème de choix du bac à papier
de mon imprimante (post "Choix d'un tiroir d'imprimante")
mais maintenant je me heurte au format du papier.
Je veux imprimer en A6 (mon imprimante le fait très bien
depuis Word) et je m'y prend ainsi :

Printer.DrawWidth = 2
Printer.ScaleMode = vbMillimeters
Printer.Orientation = vbPRORPortrait
Printer.Copies = 1

'tiroir manuel
Printer.PaperBin = 4





'vbPRPSA5 existe mais pas vbPRPSA6 alors
Printer.PaperSize = vbPRPSUser
Printer.Width = 105
Printer.Height = 148

Et là, ça plante sur Printer.PaperSize = vbPRPSUser
Erreur d'execution 380, Valeur de propiété incorrecte !!!!




Il semblerait que le fait de renseigner les propriétés Width et Height
positionne automatiquement PaperSize. Essaie :

Printer.Width = 105
Printer.Height = 148

Debug.Print Printer.PaperSize
' Affiche bien 256, cad vbPRPSUser

--

Cordialement,

Jacques.
Daniel AUBRY
Le #18136641
Effectivement, je n'ai plus le message d'erreur mais
mon imprimante me sort toujours 2 feuilles.
Preuve qu'elle ne reconnait pas le format de papier A6.

J'ai fait l'essai avec mon code original et
Microsoft Office Document Image Writer avec
vbPRPSUser : pas de message d'erreur mais il me crée
3 pages !!!!!!

Merci de ton aide.

Dany


"David"
Bonjour Daniel,

En utilisant le code comme expliqué ici :

http://www.freevbcode.com/ShowCode.Asp?ID646

le résultat n'a pas l'air mal;
MAIS je n'ai pas d'imprimante sur place pour tester
et j'utilise Microsoft Office Document Image Write
comme imprimante par défaut !

Voici ton code modifié et qui a l'air de donner un résultat à l'écran :

Private Sub Command1_Click()
'Printer.DrawWidth = 2
' Printer.ScaleMode = vbMillimeters
Printer.Orientation = vbPRORPortrait
Printer.Copies = 1

'tiroir manuel
'Printer.PaperBin = 4

'vbPRPSA5 existe mais pas vbPRPSA6 alors
'Printer.PaperSize = vbPRPSUser
Printer.Height = 4.13 * 1440
Printer.Width = 5.83 * 1440
Printer.FontSize = 10

Printer.Print "test"
Printer.EndDoc
End Sub

Remarque : sur le web "international" je trouve souvent des
solutions que je ne trouve pas sur le web francophone,
bien que je ne domine pas très bien la langue anglaise.
--
a+ Jean-Pol
Site Web : www.colovid.be
Site Web perso pour le fun : http://users.skynet.be/DAVID/


"Daniel AUBRY" 4944db2b$0$32049$
Bonjour à tous,

j'ai résolu mon problème de choix du bac à papier
de mon imprimante (post "Choix d'un tiroir d'imprimante")
mais maintenant je me heurte au format du papier.
Je veux imprimer en A6 (mon imprimante le fait très bien
depuis Word) et je m'y prend ainsi :

Printer.DrawWidth = 2
Printer.ScaleMode = vbMillimeters
Printer.Orientation = vbPRORPortrait
Printer.Copies = 1

'tiroir manuel
Printer.PaperBin = 4

'vbPRPSA5 existe mais pas vbPRPSA6 alors
Printer.PaperSize = vbPRPSUser
Printer.Width = 105
Printer.Height = 148

Et là, ça plante sur Printer.PaperSize = vbPRPSUser
Erreur d'execution 380, Valeur de propiété incorrecte !!!!

J'ai fait le Net de long en large mais sans succès................

Bon dimanche à tous,

Dany






--
a+ Jean-Pol
Site Web : www.colovid.be
Site Web perso pour le fun : http://users.skynet.be/DAVID/


"Daniel AUBRY" 4944db2b$0$32049$
Bonjour à tous,

j'ai résolu mon problème de choix du bac à papier
de mon imprimante (post "Choix d'un tiroir d'imprimante")
mais maintenant je me heurte au format du papier.
Je veux imprimer en A6 (mon imprimante le fait très bien
depuis Word) et je m'y prend ainsi :

Printer.DrawWidth = 2
Printer.ScaleMode = vbMillimeters
Printer.Orientation = vbPRORPortrait
Printer.Copies = 1

'tiroir manuel
Printer.PaperBin = 4

'vbPRPSA5 existe mais pas vbPRPSA6 alors
Printer.PaperSize = vbPRPSUser
Printer.Width = 105
Printer.Height = 148

Et là, ça plante sur Printer.PaperSize = vbPRPSUser
Erreur d'execution 380, Valeur de propiété incorrecte !!!!

J'ai fait le Net de long en large mais sans succès................

Bon dimanche à tous,

Dany







David
Le #18136751
Bonjour Daniel,

Effectivement, chez moi aussi, il crée trois pages
avec tes coordonnées,
mais si tu mets celles que je t'ai indiquées
il ne crée qu'un page et si tu vas ensuite
dans propriétés de l'image tu vois que les dimensions sont les bonnes :

' ' ' ' ' Printer.ScaleMode = vbMillimeters
'vbPRPSA5 existe mais pas vbPRPSA6 alors
'Printer.PaperSize = vbPRPSUser
Printer.Height = 4.13 * 1440
Printer.Width = 5.83 * 1440


--
a+ Jean-Pol
Site Web : www.colovid.be
Site Web perso pour le fun : http://users.skynet.be/DAVID/


"Daniel AUBRY" 49451acb$0$27141$
Effectivement, je n'ai plus le message d'erreur mais
mon imprimante me sort toujours 2 feuilles.
Preuve qu'elle ne reconnait pas le format de papier A6.

J'ai fait l'essai avec mon code original et
Microsoft Office Document Image Writer avec
vbPRPSUser : pas de message d'erreur mais il me crée
3 pages !!!!!!

Merci de ton aide.

Dany


"David"
Bonjour Daniel,

En utilisant le code comme expliqué ici :

http://www.freevbcode.com/ShowCode.Asp?ID646

le résultat n'a pas l'air mal;
MAIS je n'ai pas d'imprimante sur place pour tester
et j'utilise Microsoft Office Document Image Write
comme imprimante par défaut !

Voici ton code modifié et qui a l'air de donner un résultat à l'écran :

Private Sub Command1_Click()
'Printer.DrawWidth = 2
' Printer.ScaleMode = vbMillimeters
Printer.Orientation = vbPRORPortrait
Printer.Copies = 1

'tiroir manuel
'Printer.PaperBin = 4

'vbPRPSA5 existe mais pas vbPRPSA6 alors
'Printer.PaperSize = vbPRPSUser
Printer.Height = 4.13 * 1440
Printer.Width = 5.83 * 1440
Printer.FontSize = 10

Printer.Print "test"
Printer.EndDoc
End Sub

Remarque : sur le web "international" je trouve souvent des
solutions que je ne trouve pas sur le web francophone,
bien que je ne domine pas très bien la langue anglaise.
--
a+ Jean-Pol
Site Web : www.colovid.be
Site Web perso pour le fun : http://users.skynet.be/DAVID/


"Daniel AUBRY" 4944db2b$0$32049$
Bonjour à tous,

j'ai résolu mon problème de choix du bac à papier
de mon imprimante (post "Choix d'un tiroir d'imprimante")
mais maintenant je me heurte au format du papier.
Je veux imprimer en A6 (mon imprimante le fait très bien
depuis Word) et je m'y prend ainsi :

Printer.DrawWidth = 2
Printer.ScaleMode = vbMillimeters
Printer.Orientation = vbPRORPortrait
Printer.Copies = 1

'tiroir manuel
Printer.PaperBin = 4

'vbPRPSA5 existe mais pas vbPRPSA6 alors
Printer.PaperSize = vbPRPSUser
Printer.Width = 105
Printer.Height = 148

Et là, ça plante sur Printer.PaperSize = vbPRPSUser
Erreur d'execution 380, Valeur de propiété incorrecte !!!!

J'ai fait le Net de long en large mais sans succès................

Bon dimanche à tous,

Dany






--
a+ Jean-Pol
Site Web : www.colovid.be
Site Web perso pour le fun : http://users.skynet.be/DAVID/


"Daniel AUBRY" 4944db2b$0$32049$
Bonjour à tous,

j'ai résolu mon problème de choix du bac à papier
de mon imprimante (post "Choix d'un tiroir d'imprimante")
mais maintenant je me heurte au format du papier.
Je veux imprimer en A6 (mon imprimante le fait très bien
depuis Word) et je m'y prend ainsi :

Printer.DrawWidth = 2
Printer.ScaleMode = vbMillimeters
Printer.Orientation = vbPRORPortrait
Printer.Copies = 1

'tiroir manuel
Printer.PaperBin = 4

'vbPRPSA5 existe mais pas vbPRPSA6 alors
Printer.PaperSize = vbPRPSUser
Printer.Width = 105
Printer.Height = 148

Et là, ça plante sur Printer.PaperSize = vbPRPSUser
Erreur d'execution 380, Valeur de propiété incorrecte !!!!

J'ai fait le Net de long en large mais sans succès................

Bon dimanche à tous,

Dany











Daniel AUBRY
Le #18138881
Effectivement, tu as raison.
Mais sur mon imprimante (Konica Minolta Magicolor 5440 DL)
cela ne change rien, je suis toujours à la ramasse.

Galère, galère..............


dany;

"David"
Bonjour Daniel,

Effectivement, chez moi aussi, il crée trois pages
avec tes coordonnées,
mais si tu mets celles que je t'ai indiquées
il ne crée qu'un page et si tu vas ensuite
dans propriétés de l'image tu vois que les dimensions sont les bonnes :

' ' ' ' ' Printer.ScaleMode = vbMillimeters
'vbPRPSA5 existe mais pas vbPRPSA6 alors
'Printer.PaperSize = vbPRPSUser
Printer.Height = 4.13 * 1440
Printer.Width = 5.83 * 1440


--
a+ Jean-Pol
Site Web : www.colovid.be
Site Web perso pour le fun : http://users.skynet.be/DAVID/


"Daniel AUBRY" 49451acb$0$27141$
Effectivement, je n'ai plus le message d'erreur mais
mon imprimante me sort toujours 2 feuilles.
Preuve qu'elle ne reconnait pas le format de papier A6.

J'ai fait l'essai avec mon code original et
Microsoft Office Document Image Writer avec
vbPRPSUser : pas de message d'erreur mais il me crée
3 pages !!!!!!

Merci de ton aide.

Dany


"David"
Bonjour Daniel,

En utilisant le code comme expliqué ici :

http://www.freevbcode.com/ShowCode.Asp?ID646

le résultat n'a pas l'air mal;
MAIS je n'ai pas d'imprimante sur place pour tester
et j'utilise Microsoft Office Document Image Write
comme imprimante par défaut !

Voici ton code modifié et qui a l'air de donner un résultat à l'écran :

Private Sub Command1_Click()
'Printer.DrawWidth = 2
' Printer.ScaleMode = vbMillimeters
Printer.Orientation = vbPRORPortrait
Printer.Copies = 1

'tiroir manuel
'Printer.PaperBin = 4

'vbPRPSA5 existe mais pas vbPRPSA6 alors
'Printer.PaperSize = vbPRPSUser
Printer.Height = 4.13 * 1440
Printer.Width = 5.83 * 1440
Printer.FontSize = 10

Printer.Print "test"
Printer.EndDoc
End Sub

Remarque : sur le web "international" je trouve souvent des
solutions que je ne trouve pas sur le web francophone,
bien que je ne domine pas très bien la langue anglaise.
--
a+ Jean-Pol
Site Web : www.colovid.be
Site Web perso pour le fun : http://users.skynet.be/DAVID/


"Daniel AUBRY" 4944db2b$0$32049$
Bonjour à tous,

j'ai résolu mon problème de choix du bac à papier
de mon imprimante (post "Choix d'un tiroir d'imprimante")
mais maintenant je me heurte au format du papier.
Je veux imprimer en A6 (mon imprimante le fait très bien
depuis Word) et je m'y prend ainsi :

Printer.DrawWidth = 2
Printer.ScaleMode = vbMillimeters
Printer.Orientation = vbPRORPortrait
Printer.Copies = 1

'tiroir manuel
Printer.PaperBin = 4

'vbPRPSA5 existe mais pas vbPRPSA6 alors
Printer.PaperSize = vbPRPSUser
Printer.Width = 105
Printer.Height = 148

Et là, ça plante sur Printer.PaperSize = vbPRPSUser
Erreur d'execution 380, Valeur de propiété incorrecte !!!!

J'ai fait le Net de long en large mais sans succès................

Bon dimanche à tous,

Dany






--
a+ Jean-Pol
Site Web : www.colovid.be
Site Web perso pour le fun : http://users.skynet.be/DAVID/


"Daniel AUBRY" 4944db2b$0$32049$
Bonjour à tous,

j'ai résolu mon problème de choix du bac à papier
de mon imprimante (post "Choix d'un tiroir d'imprimante")
mais maintenant je me heurte au format du papier.
Je veux imprimer en A6 (mon imprimante le fait très bien
depuis Word) et je m'y prend ainsi :

Printer.DrawWidth = 2
Printer.ScaleMode = vbMillimeters
Printer.Orientation = vbPRORPortrait
Printer.Copies = 1

'tiroir manuel
Printer.PaperBin = 4

'vbPRPSA5 existe mais pas vbPRPSA6 alors
Printer.PaperSize = vbPRPSUser
Printer.Width = 105
Printer.Height = 148

Et là, ça plante sur Printer.PaperSize = vbPRPSUser
Erreur d'execution 380, Valeur de propiété incorrecte !!!!

J'ai fait le Net de long en large mais sans succès................

Bon dimanche à tous,

Dany















jean
Le #18139031
"Daniel AUBRY" news:49455077$0$14451$
Effectivement, tu as raison.
Mais sur mon imprimante (Konica Minolta Magicolor 5440 DL)
cela ne change rien, je suis toujours à la ramasse.

Galère, galère..............



Ben la bonne méthode a encore été repostée sur le forum des apis.
Daniel AUBRY
Le #18139021
Bonsoir Jean,

je ne te suis pas...
Peux tu être plus explicite ?

Merci,

"jean" gi3jv7$sgk$

"Daniel AUBRY" news:49455077$0$14451$
Effectivement, tu as raison.
Mais sur mon imprimante (Konica Minolta Magicolor 5440 DL)
cela ne change rien, je suis toujours à la ramasse.

Galère, galère..............



Ben la bonne méthode a encore été repostée sur le forum des apis.



Publicité
Poster une réponse
Anonyme