OVH Cloud OVH Cloud

bouton imprimante

4 réponses
Avatar
cedric broy
comment créé une macro qui lorque qu'on clique sur l'imprimante ça imprime
sur une autre imprimante que celle par défaut et que seulement la première
page soit imprimée
Suis je assez clair?

Merci de votre aide

Céd

4 réponses

Avatar
michdenis
Bonjour Cedric,

Dans le ThisWorkbook de ton classeur, utilise ceci :

Attention, ces procédures utilises le nom de l'objet VBA (code name)
et non le nom de l'onglet de la feuille.
'--------------------
Private Sub Workbook_BeforePrint(Cancel As Boolean)

If ActiveSheet.CodeName = "Feuil1" Then
Cancel = True
MsgBox "Utiliser le bouton imprimer de la feuille."
End If

End Sub
'--------------------

Tu insères un bouton de commande issu de la barre d'ouitils formulaire
et tu lui affectes cette macro en apportant les modifications qui s'imposent,
notamment le nom de l'imprimante ... et la plage de cellule à imprimer !

'---------------------
Sub test()
'Le nom est défini et affiché dans le panneau de configuration.
'Ne pas oublier les ":" à la fin...
Application.ActivePrinter = "Canon LBP-465 sur LPT1:"
With Feuil1 'Propriété Name de l'objet en vba
With .PageSetup
.with .PrintArea = Range("A1:G25")
End With
.Print
End With
End Sub
'----------------------


Salutations !








"cedric broy" a écrit dans le message de news: dpm7r7$t1s$
comment créé une macro qui lorque qu'on clique sur l'imprimante ça imprime
sur une autre imprimante que celle par défaut et que seulement la première
page soit imprimée
Suis je assez clair?

Merci de votre aide

Céd
Avatar
isabelle
bonjour céd,

met cette macro dans le module ThisWorkbook de ton classeur,

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Application.EnableEvents = False
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, _
ActivePrinter:="hp deskjet 5550 series (2) sur Ne00:", Collate:=True
Application.EnableEvents = True
Cancel = True
End Sub

isabelle

comment créé une macro qui lorque qu'on clique sur l'imprimante ça imprime
sur une autre imprimante que celle par défaut et que seulement la première
page soit imprimée
Suis je assez clair?

Merci de votre aide

Céd




Avatar
isabelle
si tu veut que l'impression se fasse au complet sur l'imprimante par défaut
et seulement la première page sur une autre imprimante,

Private Sub Workbook_BeforePrint(Cancel As Boolean)
x = ActivePrinter
Application.EnableEvents = False
ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, _
ActivePrinter:="hp deskjet 5550 series (2) sur Ne00:", Collate:=True
Application.EnableEvents = True
Application.ActivePrinter = x
End Sub

isabelle


comment créé une macro qui lorque qu'on clique sur l'imprimante ça imprime
sur une autre imprimante que celle par défaut et que seulement la première
page soit imprimée
Suis je assez clair?

Merci de votre aide

Céd




Avatar
michdenis
Au lieu de ceci :
'---------------------
Sub test()
'Le nom est défini et affiché dans le panneau de configuration.
'Ne pas oublier les ":" à la fin...
Application.ActivePrinter = "Canon LBP-465 sur LPT1:"
With Feuil1 'Propriété Name de l'objet en vba
With .PageSetup
.with .PrintArea = Range("A1:G25")
End With
.Print
End With
End Sub
'----------------------

Utiliser ceci :

Sub test()
Dim Sh As Worksheet
'Le nom est défini et affiché dans le panneau de configuration.
'Ne pas oublier les ":" à la fin...
Application.ActivePrinter = "Canon LBP-465 sur LPT1:"
Set Sh = Worksheets("Feuil1")
With Sh 'Propriété Name de l'objet en vba
With .PageSetup
.PrintArea = Sh.Range("A1:G25").Address
End With
.PrintOut
End With
End Sub



Salutations!


Salutations !








"cedric broy" a écrit dans le message de news: dpm7r7$t1s$
comment créé une macro qui lorque qu'on clique sur l'imprimante ça imprime
sur une autre imprimante que celle par défaut et que seulement la première
page soit imprimée
Suis je assez clair?

Merci de votre aide

Céd