OVH Cloud OVH Cloud

Imprimer en un seul temps, mais avec des variations...

16 réponses
Avatar
Jacques ELKINE
Bonjour,

J'ai souvent à imprimer des documents en deux ou plusieurs exemplaires et ce serait un grand pied
que de pouvoir, en une seule passe, imprimer le premier exemplaire tel qu'à l'écran, puis le ou les
suivants avec une mention additionnelle. Par exemple "Copie" ou "Duplicata".

Je sais, c'est possible en imprimant en deux temps et en ajoutant la mention. J'imagine qu'il
pourrait y avoir une formule en VBA, maiz là je sèche... et j'ai pas trouvé d'idée dans mes
différentes recherches.

Peut-être quelqu'un a-t-il une idée ?

--

Amitiés.
Jacques ELKINE

10 réponses

1 2
Avatar
Circé
Bonjour Jacques,

Pourquoi n'enregistres tu pas la macro ?...
Tu lances l'enregistreur de macro :
- Impression
- Insertion du filigrane
- 2e impression
- suppression du filigrane
et t'affecte tout ça à un bouton après avoir, peut être,nettoyé la
macro.

Circé
http://faqword.free.fr

Jacques ELKINE a pensé très fort :
Bonjour,

J'ai souvent à imprimer des documents en deux ou plusieurs exemplaires et ce
serait un grand pied que de pouvoir, en une seule passe, imprimer le premier
exemplaire tel qu'à l'écran, puis le ou les suivants avec une mention
additionnelle. Par exemple "Copie" ou "Duplicata".

Je sais, c'est possible en imprimant en deux temps et en ajoutant la mention.
J'imagine qu'il pourrait y avoir une formule en VBA, maiz là je sèche... et
j'ai pas trouvé d'idée dans mes différentes recherches.

Peut-être quelqu'un a-t-il une idée ?


Avatar
Jacques ELKINE
Bonjour Jacques,

Pourquoi n'enregistres tu pas la macro ?...
Tu lances l'enregistreur de macro :
- Impression
- Insertion du filigrane
- 2e impression
- suppression du filigrane
et t'affecte tout ça à un bouton après avoir, peut être,nettoyé la macro.

Circé
Bonjour Circé,

J'men va essayer et je transmettrai les résultats.
--

Amitiés.
Jacques ELKINE

Avatar
Jacques ELKINE
Bonjour Jacques,

Pourquoi n'enregistres tu pas la macro ?...
Tu lances l'enregistreur de macro :
- Impression
- Insertion du filigrane
- 2e impression
- suppression du filigrane
et t'affecte tout ça à un bouton après avoir, peut être,nettoyé la macro.

Circé
http://faqword.free.fr


Bonjour Circé,

En passant sur la boîte d'impression (Word 2003) il y a un choix "Propriétés" qui ouvre une nouvelle
boîte à onglets, cette fois. Sous l'onglet "Effets" on peut effectuer des impressions avec
filligrannes.

J'ai donc mis ça en macro, mais l'enregistreur de macro ne semble pas tenir compte du choix avec ou
sans filigrane.

La seule variable qui semble s'y référer est Background. Mais le résultat est le même qu'elle soit
commutée en True ou False. C'est le choix en cours de la série "Effets" qui est prééminant.

J'obtiens donc deux impressons avec filigrane "DUPLICATA", ou deux sans...

D'un autre côté, le filigrane consomme de l'encre et ralentit l'impression lorsqu'il déborde de la
zone de texte. Ne pourrait-on pas faire une macro qui ajoute un simple texte à partir du deuxième
exemplaire imprimé, par exemple ?

J'imagine que c'est un peu hard, mais je suis certain que bien des utilisateurs en seraient friands...

--

Amitiés.
Jacques ELKINE

Avatar
Anacoluthe
Bonjour !

'Jacques ELKINE' nous a écrit ...
En passant sur la boîte d'impression (Word 2003) il y a un choix
"Propriétés" qui ouvre une nouvelle boîte à onglets, cette fois. Sous
l'onglet "Effets" on peut effectuer des impressions avec filligrannes.
J'ai donc mis ça en macro, mais l'enregistreur de macro ne semble pas
tenir compte du choix avec ou sans filigrane.


Lorsque vous allez dans 'Propriétés' de l'impression vous entrez
dans le programme de configuration de VOTRE imprimante, très
différent d'une imprimante à une autre. Certaines sont incapables
d'ajouter un filigrane sur une page imprimée. Ce que vous réglez là
n'a rien à voir avec Word et VBA : il ne peut être enregistré.

Circé ne parlait pas d'un filigrane de votre imprimante
mais d'un filigrane de Word :
Format / Arrière-plan / Filigrane imprimé / Texte en filigrane

Anacoluthe
« Filigrane bleu de l’âme »
- Stéphane MALLARMÉ

Avatar
Jacques ELKINE
Bonjour !

Lorsque vous allez dans 'Propriétés' de l'impression vous entrez
dans le programme de configuration de VOTRE imprimante, ....


Bon sang, mais c'est bien sûr ! Je l'avais totalement oublié...

Circé ne parlait pas d'un filigrane de votre imprimante
mais d'un filigrane de Word :
Format / Arrière-plan / Filigrane imprimé / Texte en filigrane


Oeuf corse ! J'ai aussi trouvé la solution d'un "tampon" en Wordart, que je pourrais faire
apparaître sur les doubles.
Voici un exemple testé. C'est cadeau :

Sub TCopie()
'
' TCopie Macro Par Alt-T - Applique un "tampon" Wordart avec la mention copie
' Macro enregistrée le 27/05/2006 par Jacques ELKINE
'
ActiveDocument.Shapes.AddTextEffect(msoTextEffect1, "COPIE", "Arial Black" _
, 24#, msoFalse, msoFalse, 45.55, 135.5).Select
End Sub


Anacoluthe
« Filigrane bleu de l’âme »
- Stéphane MALLARMÉ


Merci Anacoluthe et merci Circé,
La solution serait peutêtre une macro lançant l'impression de la page, puis insérant le tampon (ou
le filigrane de Circé, puis une nouvelle impression de la, ou des, copies. Le tout en VBA.

Je délire peut-être... Il y a peut-être plus simple.


--

Amitiés.
Jacques ELKINE

Avatar
Clément Marcotte
Bonjour,

Je délire peut-être... Il y a peut-être plus simple.



Mauvais pour l'espace disque, mais bon.

Écrire le texte, ajouter un saut de section "page suivante" à la fin. Faire
un copier-coller du texte après le saut de section, mettre l'objet Wordart
dans l'entête de la nouvelle section.

Imprimer tout le fichier...

Avatar
Jacques ELKINE
Mauvais pour l'espace disque, mais bon.

Écrire le texte, ajouter un saut de section "page suivante" à la fin. Faire
un copier-coller du texte après le saut de section, mettre l'objet Wordart
dans l'entête de la nouvelle section.

Imprimer tout le fichier...



Merci Clément,

Je crois que je tiens une solution élégante :
Sub PrintX()
'
' PrintX Macro par Alt+= Imprime un exemplaire de la page, puis un autre
' comportant le tampon "COPIE"
' Macro enregistrée le 27/05/2006 par Jacques ELKINE
'
ActiveDocument.PrintOut
ActiveDocument.Shapes.AddTextEffect(msoTextEffect1, "COPIE", "Arial Black" _
, 24#, msoFalse, msoFalse, 45.55, 135.5).Select
Application.PrintOut FileName:="", Copies:=1
End Sub

Essayez, c'est magique !

Il ne me reste plus qu'à ajouter une boîte invitant à indiquer le nombre de copies. Je vais me
replonger dans mon manuel de VBA, car j'ai oublié des détails. J'ai surtout un doute sur la façon de
remplacer "Copies=1" par "Copies=Varsaisie". Si quelqu'un a le truc infaillible...

--

Amitiés.
Jacques ELKINE

Avatar
Geo


Je crois que je tiens une solution élégante :
Sub PrintX()
'
' PrintX Macro par Alt+= Imprime un exemplaire de la page, puis un autre
' comportant le tampon "COPIE"
' Macro enregistrée le 27/05/2006 par Jacques ELKINE
'
ActiveDocument.PrintOut
ActiveDocument.Shapes.AddTextEffect(msoTextEffect1, "COPIE", "Arial Black" _
, 24#, msoFalse, msoFalse, 45.55, 135.5).Select
Application.PrintOut FileName:="", Copies:=1
End Sub

Essayez, c'est magique !

Il ne me reste plus qu'à ajouter une boîte invitant à indiquer le nombre de copies. Je
vais me replonger dans mon manuel de VBA, car j'ai oublié des détails.
Essaie avec inputbox


J'ai surtout un
doute sur la façon de remplacer "Copies=1" par "Copies=Varsaisie". Si quelqu'un a le
truc infaillible...


faut pas : ça marche.

Tien rien que pour t'embêter, je te propose une autre variante.
Tu "surcharges" la fonction impression pour bricoler un peu :
Dans cette fonction tu incrémentes un compteur du nombre d'impression
sous forme de variable de document.
Ainsi tu choisis le tampon qui va bien, mais tu peux même ajouter
"deuxième duplicata" etc.

Une variante de la variante : utiliser la propriété : Hast Peint Date
Si elle est renseignée, c'est que l'original a déjà été imprimé.

--
A+

Avatar
Jacques ELKINE

Essaie avec inputbox

J'ai surtout un doute sur la façon de remplacer "Copies=1" par
"Copies=Varsaisie". Si quelqu'un a le truc infaillible...


faut pas : ça marche.


Merci Geo !
Le code est devenu simplement :
Sub PrintX()
'
' PrintX Macro par Alt+= Imprime le document puis un autre avec le "tampon" Wordart "DOUBLE"
' Macro enregistrée le 27/05/2006 par Jacques ELKINE
'
NbEx = InputBox(Prompt, "Nombre d'exemplaires", "1")
ActiveDocument.PrintOut
ActiveDocument.Shapes.AddTextEffect(msoTextEffect1, "COPIE", "Arial Black" _
, 24#, msoFalse, msoFalse, 45.55, 135.5).Select
Application.PrintOut FileName:="", Copies:=NbEx
End Sub

On imprime ainsi un original et autant de "COPIES" qu'on veut. Extra ! (pour moi au mois...)


Tien rien que pour t'embêter, je te propose une autre variante.
Tu "surcharges" la fonction impression pour bricoler un peu :
Dans cette fonction tu incrémentes un compteur du nombre d'impression
sous forme de variable de document.
Ainsi tu choisis le tampon qui va bien, mais tu peux même ajouter
"deuxième duplicata" etc.


Là t'est un tout petit peu trop technique pour moi... Je n'ai pas retrouvé dans mes documents VBA.
Si tu as un instant, je serais très heureux de m'instruire sur l'incrémentation d'un compteur et les
variables de document. Mais je veux pas déranger.


Une variante de la variante : utiliser la propriété : Hast Peint Date
Si elle est renseignée, c'est que l'original a déjà été imprimé.

Gloup ! gloup ! Là je suis noyé... Cherché la propriété Hast Peint Date, sans succès. J'ai toutte

une série de propriétés "Has-", mais rien qui s'approche. Mais je sens qu'il y a un truc intéressant
là-dessous...


--

Amitiés.
Jacques ELKINE


Avatar
Jacques ELKINE
Bonjour,

J'ai souvent à imprimer des documents en deux ou plusieurs exemplaires
et ce serait un grand pied que de pouvoir, en une seule passe, imprimer
le premier exemplaire tel qu'à l'écran, puis le ou les suivants avec une
mention additionnelle. Par exemple "Copie" ou "Duplicata".

Je sais, c'est possible en imprimant en deux temps et en ajoutant la
mention. J'imagine qu'il pourrait y avoir une formule en VBA, maiz là je
sèche... et j'ai pas trouvé d'idée dans mes différentes recherches.

Peut-être quelqu'un a-t-il une idée ?

Voici le code final pour l'instant) de la macro qui permet d'imprimer plusieurs exemplaires d'un

document avec un premier exemplaire tel qu'il a été saisi et un nombre d'exemplaire choisi par
l'utilisateur et portant le "tampon" Wordart "COPIE".

Comme j'ai de gros doigts, j'ai limité à 9 le nombre de copie. Il m'arrive en effet souvent de taper
entre deux touches du clavier et de demander 43 exemplaires...

Sub PrintX()
'
' PrintX Macro par Alt+= Imprime le document puis un autre avec le "tampon" Wordart "COPIE"
' Maximum 9 copies
' Macro enregistrée le 27/05/2006 par Jacques ELKINE
'
Dim NNbEx As Integer
Do
NbEx = InputBox(Prompt, "Nombre d'exemplaires (moins de 10)", "1")
NNbEx = CInt(NbEx)
If NNbEx < 9 Then
Exit Do
End If
Loop
ActiveDocument.PrintOut
ActiveDocument.Shapes.AddTextEffect(msoTextEffect1, "COPIE", "Arial Black" _
, 24#, msoFalse, msoFalse, 45.55, 135.5).Select
Application.PrintOut FileName:="", Copies:=NNbEx
End Sub

--

Amitiés.
Jacques ELKINE

1 2