OVH Cloud OVH Cloud

Pb sur Word 97 pour macro

4 réponses
Avatar
Sébastien
Coucou me revoilou,

J'ai créée une macro dans laquelle une UserForm s'affiche à la place de la
fenêtre d'impression classique lorsqu'on lance l'impression. Pas de pb sur
Word 2000.

Par contre, la macro ne fonctionne pas sur Word 97. Est ce que cette option
est possible sur Word 97?

Merci

Seb.

4 réponses

Avatar
Jean-Guy Marcil
Sébastien was telling us:
Sébastien nous racontait que :

Coucou me revoilou,

J'ai créée une macro dans laquelle une UserForm s'affiche à la place
de la fenêtre d'impression classique lorsqu'on lance l'impression.
Pas de pb sur Word 2000.

Par contre, la macro ne fonctionne pas sur Word 97. Est ce que cette
option est possible sur Word 97?



"Ne fonctionne pas" ne veux pas dire grand chose.

De quelle option parles-tu?
Est ce que la macro démarre mais ne fini pas?
Y a-t-il un message d'erreur?
Est-ce que la mcro roule mais ne produit pas le résultat désiré?
Est-ce-que etc.

Aussi, sans voir ton code, c'est assez difficile de répondre.

--
Salut!
_______________________________________
Jean-Guy Marcil - Word MVP

Word MVP site: http://www.word.mvps.org

Avatar
Sébastien
Rebonnjour,

La macro que j'utilise pour affiche la UserForm en cliquant sur l'icone
lançant l'impression est la suivante:


Private Sub WordApp_DocumentBeforePrint(ByVal _
Doc As Document, _
Cancel As Boolean)
UserForm2.Show
Cancel = True
End Sub


La macro fonctionne sur Word 2000 (la UserForm s'affiche lorsqu'on veur
lancer l'impression), par contre sur Word 97 la macro ne fonctionne pas.
Lorsqu'on souhaite imprimer le document, c'est la fenêtre classique
d'impression qui s'affiche et pas ma UserForm.
Aucun message d'erreur ne s'affiche.

Seb

"Ne fonctionne pas" ne veux pas dire grand chose.

De quelle option parles-tu?
Est ce que la macro démarre mais ne fini pas?
Y a-t-il un message d'erreur?
Est-ce que la mcro roule mais ne produit pas le résultat désiré?
Est-ce-que etc.

Aussi, sans voir ton code, c'est assez difficile de répondre.






Avatar
Jean-Guy Marcil
Sébastien was telling us:
Sébastien nous racontait que :

Rebonnjour,

La macro que j'utilise pour affiche la UserForm en cliquant sur
l'icone lançant l'impression est la suivante:


Private Sub WordApp_DocumentBeforePrint(ByVal _
Doc As Document, _
Cancel As Boolean)
UserForm2.Show
Cancel = True
End Sub


La macro fonctionne sur Word 2000 (la UserForm s'affiche lorsqu'on
veur lancer l'impression), par contre sur Word 97 la macro ne
fonctionne pas. Lorsqu'on souhaite imprimer le document, c'est la
fenêtre classique d'impression qui s'affiche et pas ma UserForm.
Aucun message d'erreur ne s'affiche.



Ahhh... Et la lumière fut!

Tu utilises ce qu'on appelle un événement (BeforeClose, SelectionChange,
BeforePrint...etc.). La plupart de ces événements sont nouveaux à Word 2000.
Voir
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/off2000/html/woevtDocumentBeforePrint.asp
(Je n'ai pas trouvé en français dans MSDN français)

Dans ton cas, si ton userform remplace totalement la fonction d'impression
de Word, tu peux utiliser dans un module standard ces deux macros (tu peux
effacer ton module de classe et le code qui gère l'activation de l'événement
dans Document_New et Document_Open) :

'_______________________________________
Sub FilePrint()

MsgBox "FilePrint"
MyPrint

End Sub
'_______________________________________

'_______________________________________
Sub FilePrintDefault()

MsgBox "FilePrintDefault"
MyPrint

End Sub
'_______________________________________

'_______________________________________
Sub MyPrint()

Dim MyForm As UserForm2

Set MyForm = New UserForm2

MyForm.Show
Unload MyForm

Set MyForm = Nothing

End Sub
'_______________________________________

FilePrint est la macro de base qui est appelée quand on fait Fichier
Impression ou CTRL-P et FilePrintDefault est celle appelée quand on clique
sur l'mprimante de la barre d'outils.

Pour une liste complète, va voir la liste des commandes de Word dans le
dialogue Macro (ALT-F8).
De cette façon, tu seras compatible dans toutes les langues et toutes les
versions de Word à partir de Word 97.

En passant, c'est mieux de nommer les userform soi-même... si le projet
grandi, on ne sait plus ce que font UserForm1, Userform2, UserForm3, etc,
--
Salut!
_______________________________________
Jean-Guy Marcil - Word MVP

Word MVP site: http://www.word.mvps.org

Avatar
Sébastien
bonjour,

Je te remercie beacoup, çà marche comme sur des roulettes.

A+
Séb