Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

nombre de copies

9 réponses
Avatar
Cyrille
Bonjour
comment déterminer en VBA le nombre de copies voulu pour l'impression d'une
ou plusieurs feuilles d'un meme classeur sans etre obligé de lancer
l'impression dans la meme instruction

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Preview:=False, Collate:= _
True
Cette instruction imprie en meme temps

merci d'avance et bonne année à toutes et à tous

9 réponses

Avatar
FFO
Salut à toi

Et pouquoi ne pas faire appel à une variable ainsi :

Nombre = 10

ActiveWindow.SelectedSheets.PrintOut Copies:=Nombre, Preview:úlse,
Collate:=True

Ainsi tu détermines avec la variable Nombre le nombre de copie avant
l'impression

Celà devrait te convenir
Dis moi !!!!
Avatar
Cyrille
Non je veux determiner le nombre de copies sans lancer l'impression, pour
qu'à chaque fois que j'utiliserais le fichier excel il soit deja pret à
imprimer avec X copies de prérégler
merci


"FFO" a écrit :

Salut à toi

Et pouquoi ne pas faire appel à une variable ainsi :

Nombre = 10

ActiveWindow.SelectedSheets.PrintOut Copies:=Nombre, Preview:úlse,
Collate:=True

Ainsi tu détermines avec la variable Nombre le nombre de copie avant
l'impression

Celà devrait te convenir
Dis moi !!!!



Avatar
michdenis
Tu copies ce qui suit dans le ThisWorkbook de ton classeur
et tu détermines le nombre de copies pour ce classeur en
remplaçant 10 par la quantité voulue.

À chaque fois que tu lanceras l'impression de ce classeur
tu auras toujours le même nombre de copies.

'-----------------------------------------
Private Sub Workbook_BeforePrint(Cancel As Boolean)

Dim Sh As Worksheet
Dim NbCopies As Integer
NbCopies = 10
For Each Sh In ActiveWindow.SelectedSheets
Sh.PrintOut Copies:=NbCopies, Preview:úlse, _
Collate:=True
Next
Cancel = True
End Sub
'-----------------------------------------



"Cyrille" a écrit dans le message de
news:
Bonjour
comment déterminer en VBA le nombre de copies voulu pour l'impression d'une
ou plusieurs feuilles d'un meme classeur sans etre obligé de lancer
l'impression dans la meme instruction

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Preview:úlse, Collate:= _
True
Cette instruction imprie en meme temps

merci d'avance et bonne année à toutes et à tous
Avatar
Cyrille
Je suis encore désolé mais

Je ne veux pas que la quantité de copies soit déterminé au moment de
l'impression. Je veux juste déterminer le nombre de copies sans lancer
l'impression.
merci

"michdenis" a écrit :

Tu copies ce qui suit dans le ThisWorkbook de ton classeur
et tu détermines le nombre de copies pour ce classeur en
remplaçant 10 par la quantité voulue.

À chaque fois que tu lanceras l'impression de ce classeur
tu auras toujours le même nombre de copies.

'-----------------------------------------
Private Sub Workbook_BeforePrint(Cancel As Boolean)

Dim Sh As Worksheet
Dim NbCopies As Integer
NbCopies = 10
For Each Sh In ActiveWindow.SelectedSheets
Sh.PrintOut Copies:=NbCopies, Preview:úlse, _
Collate:=True
Next
Cancel = True
End Sub
'-----------------------------------------



"Cyrille" a écrit dans le message de
news:
Bonjour
comment déterminer en VBA le nombre de copies voulu pour l'impression d'une
ou plusieurs feuilles d'un meme classeur sans etre obligé de lancer
l'impression dans la meme instruction

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Preview:úlse, Collate:= _
True
Cette instruction imprie en meme temps

merci d'avance et bonne année à toutes et à tous




Avatar
michdenis
Faut savoir ce que l'on veut dans la vie !

Si tu veux imprimer x copies de ton fichier
à chaque impression...c'est la façon de procéder.

la procédure soumise ne lance pas l'impression en soi...
mais si tu lances l'impression, tu auras le nombre de
copies que tu as au préalable déterminé.

L'autre alternative, tu t'adressess au Mgr qui sillonnent
ce forum... ils ont peut être en contact avec l'au-delà !!!



"Cyrille" a écrit dans le message de
news:
Je suis encore désolé mais

Je ne veux pas que la quantité de copies soit déterminé au moment de
l'impression. Je veux juste déterminer le nombre de copies sans lancer
l'impression.
merci

"michdenis" a écrit :

Tu copies ce qui suit dans le ThisWorkbook de ton classeur
et tu détermines le nombre de copies pour ce classeur en
remplaçant 10 par la quantité voulue.

À chaque fois que tu lanceras l'impression de ce classeur
tu auras toujours le même nombre de copies.

'-----------------------------------------
Private Sub Workbook_BeforePrint(Cancel As Boolean)

Dim Sh As Worksheet
Dim NbCopies As Integer
NbCopies = 10
For Each Sh In ActiveWindow.SelectedSheets
Sh.PrintOut Copies:=NbCopies, Preview:úlse, _
Collate:=True
Next
Cancel = True
End Sub
'-----------------------------------------



"Cyrille" a écrit dans le message de
news:
Bonjour
comment déterminer en VBA le nombre de copies voulu pour l'impression
d'une
ou plusieurs feuilles d'un meme classeur sans etre obligé de lancer
l'impression dans la meme instruction

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Preview:úlse, Collate:=
_
True
Cette instruction imprie en meme temps

merci d'avance et bonne année à toutes et à tous




Avatar
Cyrille
Merci mais je ne peux pas intégré ce code dans un code existant qui fait une
procedure de 5 pages.
merci

"michdenis" a écrit :

Faut savoir ce que l'on veut dans la vie !

Si tu veux imprimer x copies de ton fichier
à chaque impression...c'est la façon de procéder.

la procédure soumise ne lance pas l'impression en soi...
mais si tu lances l'impression, tu auras le nombre de
copies que tu as au préalable déterminé.

L'autre alternative, tu t'adressess au Mgr qui sillonnent
ce forum... ils ont peut être en contact avec l'au-delà !!!



"Cyrille" a écrit dans le message de
news:
Je suis encore désolé mais

Je ne veux pas que la quantité de copies soit déterminé au moment de
l'impression. Je veux juste déterminer le nombre de copies sans lancer
l'impression.
merci

"michdenis" a écrit :

> Tu copies ce qui suit dans le ThisWorkbook de ton classeur
> et tu détermines le nombre de copies pour ce classeur en
> remplaçant 10 par la quantité voulue.
>
> À chaque fois que tu lanceras l'impression de ce classeur
> tu auras toujours le même nombre de copies.
>
> '-----------------------------------------
> Private Sub Workbook_BeforePrint(Cancel As Boolean)
>
> Dim Sh As Worksheet
> Dim NbCopies As Integer
> NbCopies = 10
> For Each Sh In ActiveWindow.SelectedSheets
> Sh.PrintOut Copies:=NbCopies, Preview:úlse, _
> Collate:=True
> Next
> Cancel = True
> End Sub
> '-----------------------------------------
>
>
>
> "Cyrille" a écrit dans le message de
> news:
> Bonjour
> comment déterminer en VBA le nombre de copies voulu pour l'impression
> d'une
> ou plusieurs feuilles d'un meme classeur sans etre obligé de lancer
> l'impression dans la meme instruction
>
> ActiveWindow.SelectedSheets.PrintOut Copies:=1, Preview:úlse, Collate:=
> _
> True
> Cette instruction imprie en meme temps
>
> merci d'avance et bonne année à toutes et à tous
>
>




Avatar
michdenis
Je ne vois pas pourquoi, tu ne peux pas insérer quelques lignes de code
dans une procédure déjà existante !

| Une procédure de 5 pages

là, tu aurais tout intérêt à scinder en plusieurs procédures cette dernière
en regroupant des actions et en les appelant à tour de rôle.

5 pages pour une même procédure c'est carrément indigeste.

En passant, sur les versions antérieures à excel 2007, un module ne peut pas
excéder plus de 64 Ko...avant de montrer des signes d'instabilité.



"Cyrille" a écrit dans le message de
news:
Merci mais je ne peux pas intégré ce code dans un code existant qui fait une
procedure de 5 pages.
merci

"michdenis" a écrit :

Faut savoir ce que l'on veut dans la vie !

Si tu veux imprimer x copies de ton fichier
à chaque impression...c'est la façon de procéder.

la procédure soumise ne lance pas l'impression en soi...
mais si tu lances l'impression, tu auras le nombre de
copies que tu as au préalable déterminé.

L'autre alternative, tu t'adressess au Mgr qui sillonnent
ce forum... ils ont peut être en contact avec l'au-delà !!!



"Cyrille" a écrit dans le message de
news:
Je suis encore désolé mais

Je ne veux pas que la quantité de copies soit déterminé au moment de
l'impression. Je veux juste déterminer le nombre de copies sans lancer
l'impression.
merci

"michdenis" a écrit :

> Tu copies ce qui suit dans le ThisWorkbook de ton classeur
> et tu détermines le nombre de copies pour ce classeur en
> remplaçant 10 par la quantité voulue.
>
> À chaque fois que tu lanceras l'impression de ce classeur
> tu auras toujours le même nombre de copies.
>
> '-----------------------------------------
> Private Sub Workbook_BeforePrint(Cancel As Boolean)
>
> Dim Sh As Worksheet
> Dim NbCopies As Integer
> NbCopies = 10
> For Each Sh In ActiveWindow.SelectedSheets
> Sh.PrintOut Copies:=NbCopies, Preview:úlse, _
> Collate:=True
> Next
> Cancel = True
> End Sub
> '-----------------------------------------
>
>
>
> "Cyrille" a écrit dans le message de
> news:
> Bonjour
> comment déterminer en VBA le nombre de copies voulu pour l'impression
> d'une
> ou plusieurs feuilles d'un meme classeur sans etre obligé de lancer
> l'impression dans la meme instruction
>
> ActiveWindow.SelectedSheets.PrintOut Copies:=1, Preview:úlse,
> Collate: > > _
> True
> Cette instruction imprie en meme temps
>
> merci d'avance et bonne année à toutes et à tous
>
>




Avatar
Cyrille
5 pages ca n'a rien d'indigeste et impossibilité de scinder pour lancer en
plusieurs fois, mais je ne peux l'integrer à la mienne parce que votre code
dépend de l'événement beforeprint
a+
"michdenis" a écrit :

Je ne vois pas pourquoi, tu ne peux pas insérer quelques lignes de code
dans une procédure déjà existante !

| Une procédure de 5 pages

là, tu aurais tout intérêt à scinder en plusieurs procédures cette dernière
en regroupant des actions et en les appelant à tour de rôle.

5 pages pour une même procédure c'est carrément indigeste.

En passant, sur les versions antérieures à excel 2007, un module ne peut pas
excéder plus de 64 Ko...avant de montrer des signes d'instabilité.



"Cyrille" a écrit dans le message de
news:
Merci mais je ne peux pas intégré ce code dans un code existant qui fait une
procedure de 5 pages.
merci

"michdenis" a écrit :

> Faut savoir ce que l'on veut dans la vie !
>
> Si tu veux imprimer x copies de ton fichier
> à chaque impression...c'est la façon de procéder.
>
> la procédure soumise ne lance pas l'impression en soi...
> mais si tu lances l'impression, tu auras le nombre de
> copies que tu as au préalable déterminé.
>
> L'autre alternative, tu t'adressess au Mgr qui sillonnent
> ce forum... ils ont peut être en contact avec l'au-delà !!!
>
>
>
> "Cyrille" a écrit dans le message de
> news:
> Je suis encore désolé mais
>
> Je ne veux pas que la quantité de copies soit déterminé au moment de
> l'impression. Je veux juste déterminer le nombre de copies sans lancer
> l'impression.
> merci
>
> "michdenis" a écrit :
>
> > Tu copies ce qui suit dans le ThisWorkbook de ton classeur
> > et tu détermines le nombre de copies pour ce classeur en
> > remplaçant 10 par la quantité voulue.
> >
> > À chaque fois que tu lanceras l'impression de ce classeur
> > tu auras toujours le même nombre de copies.
> >
> > '-----------------------------------------
> > Private Sub Workbook_BeforePrint(Cancel As Boolean)
> >
> > Dim Sh As Worksheet
> > Dim NbCopies As Integer
> > NbCopies = 10
> > For Each Sh In ActiveWindow.SelectedSheets
> > Sh.PrintOut Copies:=NbCopies, Preview:úlse, _
> > Collate:=True
> > Next
> > Cancel = True
> > End Sub
> > '-----------------------------------------
> >
> >
> >
> > "Cyrille" a écrit dans le message de
> > news:
> > Bonjour
> > comment déterminer en VBA le nombre de copies voulu pour l'impression
> > d'une
> > ou plusieurs feuilles d'un meme classeur sans etre obligé de lancer
> > l'impression dans la meme instruction
> >
> > ActiveWindow.SelectedSheets.PrintOut Copies:=1, Preview:úlse,
> > Collate: > > > _
> > True
> > Cette instruction imprie en meme temps
> >
> > merci d'avance et bonne année à toutes et à tous
> >
> >
>
>




Avatar
michdenis
La procédure événementiielle peut être appelée de n'importe quelle autre
procédure que tu as dans tes modules et ce, dans plus d'une si besoin.

pour ce faire, tu dois faire 2 choses :

A ) Dans le ThisWorkbook, tu enlèves l'expression "Private" dans la
déclaration de la procédure, cette première ligne :
Private Sub Workbook_BeforePrint(Cancel As Boolean)

devient :
Sub Workbook_BeforePrint(Cancel As Boolean)

B ) Et pour appeler cette procédure à partir d'une autre procédure
d'un autre classeur, tu utilises cette ligne de code :
ThisWorkbook.Workbook_BeforePrint True


Pour ce qui est de l'ensemble de ton code, si par 5 pages, tu fais
référence à 5 modules distincts contenant différentes procédures,
et oui, il n'y a rien de particulier à ce niveau mais ce n'est pas
ce que tu as écris précédemment !






"Cyrille" a écrit dans le message de
news:
5 pages ca n'a rien d'indigeste et impossibilité de scinder pour lancer en
plusieurs fois, mais je ne peux l'integrer à la mienne parce que votre code
dépend de l'événement beforeprint
a+
"michdenis" a écrit :

Je ne vois pas pourquoi, tu ne peux pas insérer quelques lignes de code
dans une procédure déjà existante !

| Une procédure de 5 pages

là, tu aurais tout intérêt à scinder en plusieurs procédures cette
dernière
en regroupant des actions et en les appelant à tour de rôle.

5 pages pour une même procédure c'est carrément indigeste.

En passant, sur les versions antérieures à excel 2007, un module ne peut
pas
excéder plus de 64 Ko...avant de montrer des signes d'instabilité.



"Cyrille" a écrit dans le message de
news:
Merci mais je ne peux pas intégré ce code dans un code existant qui fait
une
procedure de 5 pages.
merci

"michdenis" a écrit :

> Faut savoir ce que l'on veut dans la vie !
>
> Si tu veux imprimer x copies de ton fichier
> à chaque impression...c'est la façon de procéder.
>
> la procédure soumise ne lance pas l'impression en soi...
> mais si tu lances l'impression, tu auras le nombre de
> copies que tu as au préalable déterminé.
>
> L'autre alternative, tu t'adressess au Mgr qui sillonnent
> ce forum... ils ont peut être en contact avec l'au-delà !!!
>
>
>
> "Cyrille" a écrit dans le message de
> news:
> Je suis encore désolé mais
>
> Je ne veux pas que la quantité de copies soit déterminé au moment de
> l'impression. Je veux juste déterminer le nombre de copies sans lancer
> l'impression.
> merci
>
> "michdenis" a écrit :
>
> > Tu copies ce qui suit dans le ThisWorkbook de ton classeur
> > et tu détermines le nombre de copies pour ce classeur en
> > remplaçant 10 par la quantité voulue.
> >
> > À chaque fois que tu lanceras l'impression de ce classeur
> > tu auras toujours le même nombre de copies.
> >
> > '-----------------------------------------
> > Private Sub Workbook_BeforePrint(Cancel As Boolean)
> >
> > Dim Sh As Worksheet
> > Dim NbCopies As Integer
> > NbCopies = 10
> > For Each Sh In ActiveWindow.SelectedSheets
> > Sh.PrintOut Copies:=NbCopies, Preview:úlse, _
> > Collate:=True
> > Next
> > Cancel = True
> > End Sub
> > '-----------------------------------------
> >
> >
> >
> > "Cyrille" a écrit dans le message
> > de
> > news:
> > Bonjour
> > comment déterminer en VBA le nombre de copies voulu pour l'impression
> > d'une
> > ou plusieurs feuilles d'un meme classeur sans etre obligé de lancer
> > l'impression dans la meme instruction
> >
> > ActiveWindow.SelectedSheets.PrintOut Copies:=1, Preview:úlse,
> > Collate: > > > _
> > True
> > Cette instruction imprie en meme temps
> >
> > merci d'avance et bonne année à toutes et à tous
> >
> >
>
>