Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/01/2012, 12h01   #1
 
Inscription : décembre 2006
Messages : 19
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 19
Points : -1
Points : -1
Par défaut Imprimer un .doc sur une imprimante avec choix du bac

Salut,

Bon, j'arrive à ouvrir un .doc, le remplir avec excel et le sauvegarder

Mais pour l'impression....

On a deux imprimantes en réseau.
La commande printout toute simple envoie bien l'impression sur l'imprante par défaut.

Mais je voudrais l'envoyer sur la seconde imprimante, sur son bac 2.

Et là, ça marche pas...
J'ai crée une macro word pour récupérer le code, mais une fois dans excel, ça marche pas. Quand j'affiche un msgbox avec options.defauttray, elle m'affiche: utiliser config. imprimante

J'ai tenté aussi de reprendre les bouts de code trouvés à droite à gauche, mais sans effet


Si vous n'avez pas de solution, j'aimerais au moins pouvoir afficher la fenetre permettant de choisir l'imprimante et les options.

Merci
nico77ssx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 12h39   #2
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Bonjour,

Tu dois pouvoir configurer deux fois la seconde imprimante dans le panneau de configuration Windows, une fois avec le bac 1 et une autre avec le bac 2 avec des noms différents (à moins que ton poste soit bien verrouillé par l'administrateur réseau).
Ceci fait, entre la commande :
Code :
Application.Dialogs(xlDialogPrinterSetup).Show
pour choisir manuellement l'imprimante, ou utilise le paramètre "activeprinter" de la méthode "PrintOut".
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 14h47   #3
 
Inscription : décembre 2006
Messages : 19
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 19
Points : -1
Points : -1
Effectivement, c'est verrouillé.

Il n'y a donc aucun code efficace ? C'est surprenant

j'ai donc essayé ça:
Code :
1
2
3
4
5
 
With WordApp
Application.Dialogs(xlDialogPrinterSetup).Show
Application.PrintOut
End With
Mais l'impression ne se lance pas.
nico77ssx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 18h07   #4
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Citation:
Il n'y a donc aucun code efficace ? C'est surprenant
Oui et non, il faudrait qu'il y ait autant d'options que de possibilités pour toutes les imprimantes...

Depuis Excel, on met par exemple :

Est-ce que tu ne dois pas préciser ce que tu dois imprimer ?
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 21h16   #5
 
Inscription : décembre 2006
Messages : 19
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 19
Points : -1
Points : -1
Oui mais c'est pas "l'active sheet" d'excel que je veux imprimer mais la page word.

Avec la fenêtre de choix d'imprimante, ça me va, mais encore faudrait il que l'impression se lance...
nico77ssx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2012, 22h10   #6
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Le code suivant fonctionne pour moi :

Code :
1
2
3
4
5
6
7
8
9
Sub MacroWord()
    Dim WordObj As Object, Doc As Object
    Set WordObj = CreateObject("Word.Application")
    WordObj.Visible = True
    Set Doc = WordObj.Documents.Open("C:\Users\Daniel\Documents\Donnees\Daniel\COURRIER.DOC")
    Application.Dialogs(xlDialogPrinterSetup).Show
    Doc.PrintOut
    Set WordObj = Nothing
End Sub
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 10h54   #7
 
Inscription : décembre 2006
Messages : 19
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 19
Points : -1
Points : -1
Le code fonctionne, sauf que quelque soit l'imprimante que je choisis dans la fenetre, il m'affiche toujours, quand je clique configurer, les options de l'imprimante par défaut. Je dois changer manuellement l'imprimante par défaut pour que ca fonctionne....
nico77ssx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 11h48   #8
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Je sais bien que c'est de la bricole, mais en doublant la ligne, la première fois, tu choisis l'imprimante (elle devient l'imprimante par défaut) et la seconde fois, tu la configures :

Code :
1
2
3
4
    'Choisir l'imprimante par défaut
    Application.Dialogs(xlDialogPrinterSetup).Show
    'Configurer l'imprimante
    Application.Dialogs(xlDialogPrinterSetup).Show
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 12h08   #9
 
Inscription : décembre 2006
Messages : 19
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 19
Points : -1
Points : -1
Le code fonctionne, il change bien l'imprimante, la config est bonne, mais il le fait pour excel, pas pour word, ce dernier ayant par défaut une autre imprimante.
Code :
1
2
3
4
5
6
 
 
MsgBox ActivePrinter
Application.Dialogs(xlDialogPrinterSetup).Show
Application.Dialogs(xlDialogPrinterSetup).Show
MsgBox WordObj.ActivePrinter
le 1er msgbox m'affiche la bonne imprimante
Le 2nd la mauvaise
nico77ssx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 12h36   #10
 
Inscription : décembre 2006
Messages : 19
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 19
Points : -1
Points : -1
J'ai réussi à envoyer sur la bonne imprimante, en spécifiant le nom, mais la config pour le choix du bac semble inopérante.

Code :
1
2
3
4
5
 
MsgBox ActivePrinter
Application.Dialogs(xlDialogPrinterSetup).Show
WordObj.ActivePrinter = "\\srv-imp\MU132703 on Ne04:"
MsgBox WordObj.ActivePrinter
nico77ssx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 12h51   #11
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Inverse les lignes 3 et 4; tu pourras configurer les options de l'imprimante que tu viens de choisir.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 12h59   #12
 
Inscription : décembre 2006
Messages : 19
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 19
Points : -1
Points : -1
J'ai inversé pour voir: sans effet.

Du coup j'ai remplacé "application" par "WordObj", mais il m'ouvre la fenetre "a propos de microsoft word" dans word. Je suis obligé de cliquer ok, puis la macro reprend et va imprimer sur le bac par défaut, sans que j'ai pu configurer.
nico77ssx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 13h27   #13
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Tu as essayé ce que je t'ai proposé à 11:48 ?
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 13h54   #14
 
Inscription : décembre 2006
Messages : 19
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 19
Points : -1
Points : -1
ouep, mais ça fonctionnait pas plus.

Je sens qu'on y est presque mais bon c'est bizarre que l'instruction :
application.dialogs.... fonctionne et affiche les options de config (mais que pour excel)
mais que la même avec WordObj affiche la page "à propos"
nico77ssx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 14h28   #15
Expert Confirmé Sénior
 
Homme Daniel
aucune
Inscription : septembre 2011
Messages : 2 004
Détails du profil
Informations personnelles :
Nom : Homme Daniel
Localisation : France, Seine et Marne (Île de France)

Informations professionnelles :
Activité : aucune

Informations forums :
Inscription : septembre 2011
Messages : 2 004
Points : 4 037
Points : 4 037
Oui mais :

Code :
Application.Dialogs(wdDialogPrinterSetup).show
n'existe pas sous Word.
__________________
Cordialement.

Daniel

Citation:
La plus perdue de toutes les journées est celle où l'on n'a pas ri.
Chamfort
Daniel.C est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 19h57   #16
 
Inscription : décembre 2006
Messages : 19
Détails du profil
Informations forums :
Inscription : décembre 2006
Messages : 19
Points : -1
Points : -1
Donc ya pas de solution ?

C'est bête quand même.
nico77ssx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2012, 21h14   #17
Membre Expert
 
Homme
Inscription : décembre 2011
Messages : 566
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : décembre 2011
Messages : 566
Points : 1 081
Points : 1 081
Bonsoir,

Sous word pour choisir le bac, utiliser les options Tray :
- ActiveDocument.PageSetup.FirstPageTray : bac pour 1ère page
- ActiveDocument.PageSetup.OtherPagesTray : bac pour autres pages

Les constantes WdPaperTray possibles sont les suivantes :
wdPrinterAutomaticSheetFeed
wdPrinterDefaultBin
wdPrinterEnvelopeFeed
wdPrinterFormSource
wdPrinterLargeCapacityBin
wdPrinterLargeFormatBin
wdPrinterLowerBin
wdPrinterManualEnvelopeFeed
wdPrinterManualFeed
wdPrinterMiddleBin
wdPrinterOnlyBin
wdPrinterPaperCassette
wdPrinterSmallFormatBin
wdPrinterTractorFeed
wdPrinterUpperBin

Comme je ne sais pas faire la correspondance entre le n° de bac, et la position je dirais d'essayer à partir de :
- wdPrinterUpperBin
- wdPrinterMiddleBin
- wdPrinterLowerBin
- wdPrinterManualFeed

source info >>ici<<

Bonne soirée.
BlueMonkey est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h31.


 
 
 
 
Partenaires

Hébergement Web