OVH Cloud OVH Cloud

Aider moi vite svp - ActivePrinter

7 réponses
Avatar
Jac
Allo j'ai besoin d'aide svp. Je suis dans excel 97 et je marque cette
commande

Application.ActivePrinter = "LABPROD sur \\Mtlsbx1\LABPROD_PRT"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"LABPROD sur \\Mtlsbx1\LABPROD_PRT", Collate:=True
Application.ActivePrinter = "CTRL sur \\Mtlsbx1\CTRL_PRT"
Range("A1").Select

La première ligne ne veut pas passer

Je recois le message suivant:

Erreur d'exécution 1004
La methode ActivePrinter de l'objet _Application a échoué


Que faire

Sur 98 ca marchait et la jai mis xp et ca ne fonctionne plus

JF

MErci

7 réponses

Avatar
isabelle
bonjour JF,

si tu exécute la macro via un bouton, assure toi que la propriété
TakeFocusOnClick du bouton soit à false.

isabelle


Allo j'ai besoin d'aide svp. Je suis dans excel 97 et je marque cette
commande

Application.ActivePrinter = "LABPROD sur Mtlsbx1LABPROD_PRT"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"LABPROD sur Mtlsbx1LABPROD_PRT", Collate:=True
Application.ActivePrinter = "CTRL sur Mtlsbx1CTRL_PRT"
Range("A1").Select

La première ligne ne veut pas passer

Je recois le message suivant:

Erreur d'exécution 1004
La methode ActivePrinter de l'objet _Application a échoué

Que faire

Sur 98 ca marchait et la jai mis xp et ca ne fonctionne plus

JF

MErci


Avatar
michdenis
Bonsoir Jac,

Une syntaxe qui fonctionne :

Application.ActivePrinter = "Canon LBP-465 sur LPT1:"

Est-ce que l'on doit ajouter les 2 Points lorsque l'on définit une imprimante réseau ? Je n'ai pas l'environnement pour
tester !
Application.ActivePrinter = "LABPROD sur Mtlsbx1LABPROD_PRT:"


Salutations!


"Jac" a écrit dans le message de news:
Allo j'ai besoin d'aide svp. Je suis dans excel 97 et je marque cette
commande

Application.ActivePrinter = "LABPROD sur Mtlsbx1LABPROD_PRT"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"LABPROD sur Mtlsbx1LABPROD_PRT", Collate:=True
Application.ActivePrinter = "CTRL sur Mtlsbx1CTRL_PRT"
Range("A1").Select

La première ligne ne veut pas passer

Je recois le message suivant:

Erreur d'exécution 1004
La methode ActivePrinter de l'objet _Application a échoué


Que faire

Sur 98 ca marchait et la jai mis xp et ca ne fonctionne plus

JF

MErci
Avatar
isabelle
bonjour à vous deux, la réponse est oui,
Application.ActivePrinter = "SECRETARIARICOH Aficio 200/250 PCL sur
Ne03:"

isabelle


Bonsoir Jac,

Une syntaxe qui fonctionne :

Application.ActivePrinter = "Canon LBP-465 sur LPT1:"

Est-ce que l'on doit ajouter les 2 Points lorsque l'on définit une imprimante réseau ? Je n'ai pas l'environnement pour
tester !
Application.ActivePrinter = "LABPROD sur Mtlsbx1LABPROD_PRT:"

Salutations!

"Jac" a écrit dans le message de news:
Allo j'ai besoin d'aide svp. Je suis dans excel 97 et je marque cette
commande

Application.ActivePrinter = "LABPROD sur Mtlsbx1LABPROD_PRT"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"LABPROD sur Mtlsbx1LABPROD_PRT", Collate:=True
Application.ActivePrinter = "CTRL sur Mtlsbx1CTRL_PRT"
Range("A1").Select

La première ligne ne veut pas passer

Je recois le message suivant:

Erreur d'exécution 1004
La methode ActivePrinter de l'objet _Application a échoué

Que faire

Sur 98 ca marchait et la jai mis xp et ca ne fonctionne plus

JF

MErci


Avatar
michdenis
Merci Isabelle.


Salutations!



"isabelle" a écrit dans le message de news:
bonjour à vous deux, la réponse est oui,
Application.ActivePrinter = "SECRETARIARICOH Aficio 200/250 PCL sur
Ne03:"

isabelle


Bonsoir Jac,

Une syntaxe qui fonctionne :

Application.ActivePrinter = "Canon LBP-465 sur LPT1:"

Est-ce que l'on doit ajouter les 2 Points lorsque l'on définit une imprimante réseau ? Je n'ai pas l'environnement pour
tester !
Application.ActivePrinter = "LABPROD sur Mtlsbx1LABPROD_PRT:"

Salutations!

"Jac" a écrit dans le message de news:
Allo j'ai besoin d'aide svp. Je suis dans excel 97 et je marque cette
commande

Application.ActivePrinter = "LABPROD sur Mtlsbx1LABPROD_PRT"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"LABPROD sur Mtlsbx1LABPROD_PRT", Collate:=True
Application.ActivePrinter = "CTRL sur Mtlsbx1CTRL_PRT"
Range("A1").Select

La première ligne ne veut pas passer

Je recois le message suivant:

Erreur d'exécution 1004
La methode ActivePrinter de l'objet _Application a échoué

Que faire

Sur 98 ca marchait et la jai mis xp et ca ne fonctionne plus

JF

MErci


Avatar
Jac
Ok mais comment je fait pour savoir le nom de l'imprimante si je veux setter
l'activeprinter à une autre imprimante

Ex:

Application.ActivePrinter = "LABPRD sur Ne12:"

Le nom de mon imprimante est LABPRD mais comment savoir que c'est "sur
Ne12:" ???


"michdenis" wrote in message
news:
Merci Isabelle.


Salutations!



"isabelle" a écrit dans le message de
news:

bonjour à vous deux, la réponse est oui,
Application.ActivePrinter = "SECRETARIARICOH Aficio 200/250 PCL sur
Ne03:"

isabelle


Bonsoir Jac,

Une syntaxe qui fonctionne :

Application.ActivePrinter = "Canon LBP-465 sur LPT1:"

Est-ce que l'on doit ajouter les 2 Points lorsque l'on définit une
imprimante réseau ? Je n'ai pas l'environnement pour


tester !
Application.ActivePrinter = "LABPROD sur Mtlsbx1LABPROD_PRT:"

Salutations!

"Jac" a écrit dans le message de
news:


Allo j'ai besoin d'aide svp. Je suis dans excel 97 et je marque cette
commande

Application.ActivePrinter = "LABPROD sur Mtlsbx1LABPROD_PRT"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"LABPROD sur Mtlsbx1LABPROD_PRT", Collate:=True
Application.ActivePrinter = "CTRL sur Mtlsbx1CTRL_PRT"
Range("A1").Select

La première ligne ne veut pas passer

Je recois le message suivant:

Erreur d'exécution 1004
La methode ActivePrinter de l'objet _Application a échoué

Que faire

Sur 98 ca marchait et la jai mis xp et ca ne fonctionne plus

JF

MErci






Avatar
michdenis
Bonjour Jac,

pour afficher une boîte de dialogue à partir de laquelle tu peux choisir l'une des imprimantes installées sur le poste de
travail

Application.Dialogs(xlDialogPrinterSetup).Show


Salutations!



"Jac" a écrit dans le message de news:
Ok mais comment je fait pour savoir le nom de l'imprimante si je veux setter
l'activeprinter à une autre imprimante

Ex:

Application.ActivePrinter = "LABPRD sur Ne12:"

Le nom de mon imprimante est LABPRD mais comment savoir que c'est "sur
Ne12:" ???


"michdenis" wrote in message
news:
Merci Isabelle.


Salutations!



"isabelle" a écrit dans le message de
news:

bonjour à vous deux, la réponse est oui,
Application.ActivePrinter = "SECRETARIARICOH Aficio 200/250 PCL sur
Ne03:"

isabelle


Bonsoir Jac,

Une syntaxe qui fonctionne :

Application.ActivePrinter = "Canon LBP-465 sur LPT1:"

Est-ce que l'on doit ajouter les 2 Points lorsque l'on définit une
imprimante réseau ? Je n'ai pas l'environnement pour


tester !
Application.ActivePrinter = "LABPROD sur Mtlsbx1LABPROD_PRT:"

Salutations!

"Jac" a écrit dans le message de
news:


Allo j'ai besoin d'aide svp. Je suis dans excel 97 et je marque cette
commande

Application.ActivePrinter = "LABPROD sur Mtlsbx1LABPROD_PRT"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"LABPROD sur Mtlsbx1LABPROD_PRT", Collate:=True
Application.ActivePrinter = "CTRL sur Mtlsbx1CTRL_PRT"
Range("A1").Select

La première ligne ne veut pas passer

Je recois le message suivant:

Erreur d'exécution 1004
La methode ActivePrinter de l'objet _Application a échoué

Que faire

Sur 98 ca marchait et la jai mis xp et ca ne fonctionne plus

JF

MErci






Avatar
michdenis
Bonjour Jac,

Peut être désires-tu quelque chose de simple comme la procédure de Laurent Longre pour connaître le nom des imprimantes
installées sur un poste ....!

'-----------------------------
Option Explicit

Private Declare Function EnumPrintersA Lib "Winspool.drv" _
(ByVal flags As Long, ByVal name As String, ByVal Level As Long, _
pPrinterEnum As Long, ByVal cdBuf As Long, pcbNeeded As Long, _
pcReturned As Long) As Long

Private Declare Sub RtlMoveMemory Lib "Kernel32" (pDest As Long, _
ByVal pSource As Long, ByVal Length As Long)

Private Declare Function lstrlenA Lib "Kernel32" _
(ByVal lpString As Any) As Long

Private Declare Function lstrcpyA Lib "Kernel32" _
(ByVal lpString1 As String, ByVal lpString2 As Long) As Long

Sub Test()
Dim PrinterEnum() As Long, Impr As String
Dim Needed As Long, Returned As Long, I As Integer
Dim Res As Long
EnumPrintersA 2, vbNullString, 2, 0, 0, Needed, 0
If Needed = 0 Then MsgBox "Erreur", vbCritical: Exit Sub
ReDim PrinterEnum(Needed / 4)
If EnumPrintersA(2, vbNullString, 2, PrinterEnum(0), Needed, _
Needed, Returned) = 0 Then MsgBox "Erreur", vbCritical: Exit Sub
For I = 1 To Returned * 21 Step 21
Impr = Space$(lstrlenA(PrinterEnum(I)))
lstrcpyA Impr, PrinterEnum(I)
If PrinterEnum(I + 6) Then _
RtlMoveMemory Res, PrinterEnum(I + 6) + 58, 2
MsgBox "Imprimante : " & Impr & vbCr & vbCr & "Résolution : " _
& IIf(PrinterEnum(I + 6), Res, "Inconnue")
Next I
End Sub
'-----------------------------


Salutations!




"Jac" a écrit dans le message de news:
Ok mais comment je fait pour savoir le nom de l'imprimante si je veux setter
l'activeprinter à une autre imprimante

Ex:

Application.ActivePrinter = "LABPRD sur Ne12:"

Le nom de mon imprimante est LABPRD mais comment savoir que c'est "sur
Ne12:" ???


"michdenis" wrote in message
news:
Merci Isabelle.


Salutations!



"isabelle" a écrit dans le message de
news:

bonjour à vous deux, la réponse est oui,
Application.ActivePrinter = "SECRETARIARICOH Aficio 200/250 PCL sur
Ne03:"

isabelle


Bonsoir Jac,

Une syntaxe qui fonctionne :

Application.ActivePrinter = "Canon LBP-465 sur LPT1:"

Est-ce que l'on doit ajouter les 2 Points lorsque l'on définit une
imprimante réseau ? Je n'ai pas l'environnement pour


tester !
Application.ActivePrinter = "LABPROD sur Mtlsbx1LABPROD_PRT:"

Salutations!

"Jac" a écrit dans le message de
news:


Allo j'ai besoin d'aide svp. Je suis dans excel 97 et je marque cette
commande

Application.ActivePrinter = "LABPROD sur Mtlsbx1LABPROD_PRT"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"LABPROD sur Mtlsbx1LABPROD_PRT", Collate:=True
Application.ActivePrinter = "CTRL sur Mtlsbx1CTRL_PRT"
Range("A1").Select

La première ligne ne veut pas passer

Je recois le message suivant:

Erreur d'exécution 1004
La methode ActivePrinter de l'objet _Application a échoué

Que faire

Sur 98 ca marchait et la jai mis xp et ca ne fonctionne plus

JF

MErci