OVH Cloud OVH Cloud

Marco pour sélectionner bac de papier

7 réponses
Avatar
Souriane
Bonjour!

J'ai d=E9j=E0 une macro qui d=E9fini une certaine zone =E0 imprimer
automatiquement.

J'aimerais savoir s'il y a possibilit=E9 d'ajouter =E0 cette macro les
commandes suivantes:

- qu'elle aille s=E9lectionner l'option de mise en page "S=E9lectionner 1
page en largeur sur 1 en hauteur"

- qui puisse ensuite aller s=E9lectionner le bac de papier "Tray 2".

- qui envoie le tout =E0 l'impression

- et qui sorte du document sans sauvegarder.

Voici la macro que j'ai actuellement.

Sub Impression automatique()

If ActiveCell.Column >=3D 7 Then
ActiveSheet.PageSetup.PrintArea =3D _
ActiveCell.Offset(, -6).Resize(122, 15).Address
ActiveSheet.PrintOut
ActiveSheet.PageSetup.PrintArea =3D ""

End If
End Sub

Quelqu'un peut me donner un coup de pouce?

merci!

Souriane

7 réponses

Avatar
isabelle
bonjour Souriane,

refait une deuxième installation de ton imprimante,

à Démarrer, Imprimantes et Télécopieurs, Ajouter une imprimante,

tu choisi ton imprimante, et tu mets la propriéter du bac à "Tray 2"
tu aura donc deux choix pour la même imprimante, par exemple :
hp deskjet 5550 series
et
hp deskjet 5550 series (2)

pour obtenir la syntaxe exact pour cette imprimante utilise l'enregistreur de macro,
tu obtiendra une ligne de code semblable à celle ci :
Application.ActivePrinter = "hp deskjet 5550 series (2) sur Ne00:"

pour l'option de mise en page "Sélectionner 1, page en largeur sur 1 en hauteur"

With ActiveSheet.PageSetup
.FitToPagesWide = 1
.FitToPagesTall = 1
End With

isabelle


Bonjour!

J'ai déjà une macro qui défini une certaine zone à imprimer
automatiquement.

J'aimerais savoir s'il y a possibilité d'ajouter à cette macro les
commandes suivantes:

- qu'elle aille sélectionner l'option de mise en page "Sélectionner 1
page en largeur sur 1 en hauteur"

- qui puisse ensuite aller sélectionner le bac de papier "Tray 2".

- qui envoie le tout à l'impression

- et qui sorte du document sans sauvegarder.

Voici la macro que j'ai actuellement.

Sub Impression automatique()

If ActiveCell.Column >= 7 Then
ActiveSheet.PageSetup.PrintArea = _
ActiveCell.Offset(, -6).Resize(122, 15).Address
ActiveSheet.PrintOut
ActiveSheet.PageSetup.PrintArea = ""

End If
End Sub

Quelqu'un peut me donner un coup de pouce?

merci!

Souriane



Avatar
Garette
Bonsoir,

Voici une partie de réponse :

Sub Macro1()
With ActiveSheet.PageSetup
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
ActiveWindow.SelectedSheets.PrintOut Copies:=1
ActiveWorkbook.Close SaveChanges:úlse 'Ferme le classeur sans
sauvegarder.
End Sub

Le Fit to page c'est une page en largeur/hauteur
le PrintOut, c'est pour imprimer mais il faut rajouter les parametres
propres à l'imprimante multibacs (que je n'ai pas). Je ne sais pas si c'est
géré.
Le mieux c'est de faire un essai de ce qu'on veut en enregistrant la macro
et de modifier ensuite les paremetres enregistrés.
Avatar
Souriane
Bonjour!

Avec vos 2 réponses, j'en suis rendue à ceci:

Sub Test()
'
If ActiveCell.Column >= 7 Then
ActiveSheet.PageSetup.PrintArea = _
ActiveCell.Offset(, -6).Resize(122, 15).Address
ActiveSheet.PrintOut
ActiveSheet.PageSetup.PrintArea = ""

With ActiveSheet.PageSetup
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
ActiveWorkbook.Close SaveChanges:úlse 'Ferme le classeur sans
sauvegarder.

End If
End Sub

Toutefois, je ne peux toujours pas sélectionner un autre bac. Je ne
peux pas installer 2 fois la même imprimante, je suis sur un réseau
de compagnie trop "brillant" pour que je puisse faire ça. Et quand
j'enregistre une macro, niet, ça n'enregistre pas quand je vais
changer le bac.

D'autres suggestions?

Souriane


Bonsoir,

Voici une partie de réponse :

Sub Macro1() ...


Avatar
isabelle
bonjour Souriane,

il n'y a pas beaucoup d'autre solution à part d'utiliser le SendKey,
il y a un exemple ici :

http://groups.google.com/group/microsoft.public.fr.excel/browse_frm/thread/da99e345ca4d64b3/71c9935c187f7799?tvc=1&hl=fr#71c9935c187f7799

isabelle


Bonjour!

Avec vos 2 réponses, j'en suis rendue à ceci:

Sub Test()
'
If ActiveCell.Column >= 7 Then
ActiveSheet.PageSetup.PrintArea = _
ActiveCell.Offset(, -6).Resize(122, 15).Address
ActiveSheet.PrintOut
ActiveSheet.PageSetup.PrintArea = ""

With ActiveSheet.PageSetup
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
ActiveWorkbook.Close SaveChanges:úlse 'Ferme le classeur sans
sauvegarder.

End If
End Sub

Toutefois, je ne peux toujours pas sélectionner un autre bac. Je ne
peux pas installer 2 fois la même imprimante, je suis sur un réseau
de compagnie trop "brillant" pour que je puisse faire ça. Et quand
j'enregistre une macro, niet, ça n'enregistre pas quand je vais
changer le bac.

D'autres suggestions?

Souriane



Bonsoir,

Voici une partie de réponse :

Sub Macro1() ...






Avatar
Garette
Bonsoir,

Effectivement pour la gestion des bac il semble que le SendKey soit le plus
adapté.
2 fiches US sur le sujet :
http://support.microsoft.com/kb/213815/en-us
http://support.microsoft.com/kb/135791/en-us
Avatar
jps
non, souriane, pas d'autres solutions en stock!!!
désolé
jps

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

Bonjour!

Avec vos 2 réponses, j'en suis rendue à ceci:

Sub Test()
'
If ActiveCell.Column >= 7 Then
ActiveSheet.PageSetup.PrintArea = _
ActiveCell.Offset(, -6).Resize(122, 15).Address
ActiveSheet.PrintOut
ActiveSheet.PageSetup.PrintArea = ""

With ActiveSheet.PageSetup
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
ActiveWorkbook.Close SaveChanges:úlse 'Ferme le classeur sans
sauvegarder.

End If
End Sub

Toutefois, je ne peux toujours pas sélectionner un autre bac. Je ne
peux pas installer 2 fois la même imprimante, je suis sur un réseau
de compagnie trop "brillant" pour que je puisse faire ça. Et quand
j'enregistre une macro, niet, ça n'enregistre pas quand je vais
changer le bac.

D'autres suggestions?

Souriane


Bonsoir,

Voici une partie de réponse :

Sub Macro1() ...


Avatar
jps
bon, ben moi, je retourne au foot alors....
jps

"Garette" a écrit dans le message de news:
uliJfFH%
Bonsoir,

Effectivement pour la gestion des bac il semble que le SendKey soit le
plus adapté.
2 fiches US sur le sujet :
http://support.microsoft.com/kb/213815/en-us
http://support.microsoft.com/kb/135791/en-us