Correction code vba

gagnonpeter

XLDnaute Junior
****VOICI LE CODE QUE J'UTILISE******

Sub FermerImprEnr()

Application.ActivePrinter = "\\SEPINF01\IMCDEX05 sur Ne03:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"\\SEPINF01\IMCDEX05 sur Ne03:", Collate:=True

ThisWorkbook.Close savechanges:=True
End Sub


Mon problème est que dépendament de la personne qui utilise le macro, le code d'imprimante (Ne03) change et cela ne fonctionne qu'avec la bonne portant le (Ne03). Comment faire pour qu'il dire par exemple " de Ne01 à Ne99". Cela ferait en sorte que tout les utilisateurs portant un code dans cette plage pourraient utiliser le macro?
 

xrevenge

XLDnaute Nouveau
Re : Correction code vba

Dim printername as string

printername="\\SEPINF01\IMCDEX05 sur " & Environ("COMPUTERNAME")


Application.ActivePrinter = printername
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
printername, Collate:=True

voila, essaye de faire une macro de type:

sub test()
MsgBox Environ("COMPUTERNAME")
End Sub

exécute et regarde ce qui s'affiche, tu veras qu'il s'agit du nom de l'ordinateur.
 

gagnonpeter

XLDnaute Junior
Re : Correction code vba

Ca écrit " impossible d'executer en mode d'arret"

Voici la formule que j'ai écrit
---------
Sub EnrImprFerm()

printername = "\\SEPINF01\IMCDEX05 sur " & Environ("COMPUTERNAME")

Application.ActivePrinter = printername
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
printername, Collate:=True
Sub test()
MsgBox Environ("COMPUTERNAME")
End Sub
---------
 

MichD

XLDnaute Impliqué
Re : Correction code vba

Bonjour,

Si tu veux utiliser l'imprimante par défaut pour l'ordinateur,
Tu n'as qu'à ne pas définir le paramètre "ActivePrinter".
La commande va prendre l'imprimante par défaut pour
imprimer.

Probablement, je n'ai pas compris et j'ai lu trop vite!
;-)

MichD
--------------------------------------------------------------------
 
Dernière édition:

excelman

XLDnaute Occasionnel
Re : Correction code vba

Bonjour à tous,

Sinon tu propose l'ouverture de la boite de dialogue pour choisir l'imprimante à utiliser

Code:
Application.Dialogs(xlDialogPrinterSetup).Show
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
 
Dernière édition:

Statistiques des forums

Discussions
312 379
Messages
2 087 762
Membres
103 661
dernier inscrit
fcleves