OVH Cloud OVH Cloud

Bouton et macro

7 réponses
Avatar
DoMi
Bonjour !

J'ai créé une macro dans un modèle (pas dans normal.dot) qui permet entre
autres de proposer aux utilisateurs l'enregistrement du document sous un nom
basé sur des variables saisie précédemment et l'envoi du document en pièce
jointe à un mél.
On lance cette macro par un bouton que j'ai ajouté dans la barre de boutons.
Ce bouton n'apparait pas si on crée un nouveau document avec normal.dot, ou
si on ouvre un document, mais si on ouvre un document créé avec mon modèle,
le bouton est là, et la macro plante si on clique dessus, bien sûr, puisque
les variables attendues ne sont pas là.
Comment peut-on faire pour que les documents créés avec mon modèle
n'héritenpas de ce bouton ?

Merci pour votre aide
DoMi

7 réponses

Avatar
Corona
Bonjour DoMi,
Tu ne dis pas si tu crées le bouton de commande avec une macro.
Auquel cas, tu pourrais tester au préalable si tes variables ont une
valeur avant de créer le bouton dans la barre des boutons.
Autre solution au début de ta macro, tester si tes variables sont
remplies, si non tu quittes la macro sans l'exécution de celle-ci.
Philippe

"DoMi" a écrit dans le message de
news:
Bonjour !

J'ai créé une macro dans un modèle (pas dans normal.dot) qui permet entre
autres de proposer aux utilisateurs l'enregistrement du document sous un
nom

basé sur des variables saisie précédemment et l'envoi du document en pièce
jointe à un mél.
On lance cette macro par un bouton que j'ai ajouté dans la barre de
boutons.

Ce bouton n'apparait pas si on crée un nouveau document avec normal.dot,
ou

si on ouvre un document, mais si on ouvre un document créé avec mon
modèle,

le bouton est là, et la macro plante si on clique dessus, bien sûr,
puisque

les variables attendues ne sont pas là.
Comment peut-on faire pour que les documents créés avec mon modèle
n'héritenpas de ce bouton ?

Merci pour votre aide
DoMi


Avatar
DoMi
Bonjour, Corona !

En fait, j'ai deux macros : l'une, où il y a des écrans de saisie qui me
permettent de récupérer des variables qui vont me servir à mettre en forme un
document. Ce document est affiché, l'utilisateur le remplit, et clique sur un
bouton "Terminer" (c'est le bouton dont il est question)

Le test des variables me convient tout à fait, merci !
Mais pourquoi le document hérite-t-il du bouton qui est dans le modèle ?

"Corona" wrote:

Bonjour DoMi,
Tu ne dis pas si tu crées le bouton de commande avec une macro.
Auquel cas, tu pourrais tester au préalable si tes variables ont une
valeur avant de créer le bouton dans la barre des boutons.
Autre solution au début de ta macro, tester si tes variables sont
remplies, si non tu quittes la macro sans l'exécution de celle-ci.
Philippe

"DoMi" a écrit dans le message de
news:
Bonjour !

J'ai créé une macro dans un modèle (pas dans normal.dot) qui permet entre
autres de proposer aux utilisateurs l'enregistrement du document sous un
nom

basé sur des variables saisie précédemment et l'envoi du document en pièce
jointe à un mél.
On lance cette macro par un bouton que j'ai ajouté dans la barre de
boutons.

Ce bouton n'apparait pas si on crée un nouveau document avec normal.dot,
ou

si on ouvre un document, mais si on ouvre un document créé avec mon
modèle,

le bouton est là, et la macro plante si on clique dessus, bien sûr,
puisque

les variables attendues ne sont pas là.
Comment peut-on faire pour que les documents créés avec mon modèle
n'héritenpas de ce bouton ?

Merci pour votre aide
DoMi







Avatar
Corona
Bonjour DoMi,
Le document hérite de tout ce qui a dans le modèle dont-il dépend.
Par contre, je ne comprend pas pourquoi tu as un bouton "terminer" sur
une barre de boutons alors que tu as un écran de saisie dans lequel tu peux
parfaitement placer un bouton "OK" ou "ANNUL" avec les macros liées à ces
évènements.
Philippe
"DoMi" a écrit dans le message de
news:
Bonjour, Corona !

En fait, j'ai deux macros : l'une, où il y a des écrans de saisie qui me
permettent de récupérer des variables qui vont me servir à mettre en forme
un

document. Ce document est affiché, l'utilisateur le remplit, et clique sur
un

bouton "Terminer" (c'est le bouton dont il est question)

Le test des variables me convient tout à fait, merci !
Mais pourquoi le document hérite-t-il du bouton qui est dans le modèle ?

"Corona" wrote:

Bonjour DoMi,
Tu ne dis pas si tu crées le bouton de commande avec une macro.
Auquel cas, tu pourrais tester au préalable si tes variables ont une
valeur avant de créer le bouton dans la barre des boutons.
Autre solution au début de ta macro, tester si tes variables sont
remplies, si non tu quittes la macro sans l'exécution de celle-ci.
Philippe

"DoMi" a écrit dans le message de
news:
Bonjour !

J'ai créé une macro dans un modèle (pas dans normal.dot) qui permet
entre



autres de proposer aux utilisateurs l'enregistrement du document sous
un



nom
basé sur des variables saisie précédemment et l'envoi du document en
pièce



jointe à un mél.
On lance cette macro par un bouton que j'ai ajouté dans la barre de
boutons.

Ce bouton n'apparait pas si on crée un nouveau document avec
normal.dot,



ou
si on ouvre un document, mais si on ouvre un document créé avec mon
modèle,

le bouton est là, et la macro plante si on clique dessus, bien sûr,
puisque

les variables attendues ne sont pas là.
Comment peut-on faire pour que les documents créés avec mon modèle
n'héritenpas de ce bouton ?

Merci pour votre aide
DoMi









Avatar
Anacoluthe
Bonjour !

'DoMi' nous a écrit ...
Mais pourquoi le document hérite-t-il du bouton qui est dans le modèle ?


Il n'y a pas de transmission du bouton du modèle au document.
Simplement votre document continue à ouvir son modèle attaché.
Ouvrez ce document sur un autre poste : plus de bouton.

Votre bouton 'Terminer' pourrait n'apparaître qu'après avoir
rempli le formulaire UserForm et pourrait aussi s'achever
en supprimant l'attache (Outils/Modèles et complément) à votre
modèle ce qui permettrait de l'ouvrir plus vite ultérieurement
et d'éviter de revoir le bouton.

Anacoluthe
« Observez les modèles. »
- Jean-Auguste-Dominique INGRES

Avatar
Corona
Re,
Pour suivre le fil de ma précédente réponse.
Dans ton écran de saisie, tu peux après chaque encodage (évènement
AfterUpdate), tester si l'ensemble de tes zones à remplir le sont bien en
écrivant une macro de contrôle qui mets le Bouton "OK" enable ou disable
suivant que l'ensemble des champs important soit remplis.
Un petit exemple ici prit d'un de mes programmes où je teste cette
validité.
Le bouton "OK" se nomme 'CmdOk'
Les TextBox ont toutes les préfixe 'Tb'
Et donc, pour l'exemple je t'envoie le code d'un évènement
J'espère que c'est assez clair.
Philippe

Private Sub TbRef_AfterUpdate()
CtrlBnOk
End Sub

Sub CtrlBnOk()
CmdOk.Enabled = False
If Len(TbRef) > 0 Then
If Len(TbCli) > 0 Then
If Len(TbEnlev) > 0 Then
If Len(TbDest) > 0 Then
If TypeVehicule <> 0 Then
CmdOk.Enabled = True
End If
End If
End If
End If
End Sub


"DoMi" a écrit dans le message de
news:
Bonjour, Corona !

En fait, j'ai deux macros : l'une, où il y a des écrans de saisie qui me
permettent de récupérer des variables qui vont me servir à mettre en forme
un

document. Ce document est affiché, l'utilisateur le remplit, et clique sur
un

bouton "Terminer" (c'est le bouton dont il est question)

Le test des variables me convient tout à fait, merci !
Mais pourquoi le document hérite-t-il du bouton qui est dans le modèle ?

"Corona" wrote:

Bonjour DoMi,
Tu ne dis pas si tu crées le bouton de commande avec une macro.
Auquel cas, tu pourrais tester au préalable si tes variables ont une
valeur avant de créer le bouton dans la barre des boutons.
Autre solution au début de ta macro, tester si tes variables sont
remplies, si non tu quittes la macro sans l'exécution de celle-ci.
Philippe

"DoMi" a écrit dans le message de
news:
Bonjour !

J'ai créé une macro dans un modèle (pas dans normal.dot) qui permet
entre



autres de proposer aux utilisateurs l'enregistrement du document sous
un



nom
basé sur des variables saisie précédemment et l'envoi du document en
pièce



jointe à un mél.
On lance cette macro par un bouton que j'ai ajouté dans la barre de
boutons.

Ce bouton n'apparait pas si on crée un nouveau document avec
normal.dot,



ou
si on ouvre un document, mais si on ouvre un document créé avec mon
modèle,

le bouton est là, et la macro plante si on clique dessus, bien sûr,
puisque

les variables attendues ne sont pas là.
Comment peut-on faire pour que les documents créés avec mon modèle
n'héritenpas de ce bouton ?

Merci pour votre aide
DoMi









Avatar
DoMi
Bonjour !

Je reviens sur ma question, après ce week-end morose...
Le temps pourri, et mon PC perso HS, quelle tristesse !
J'ai retrouvé le PC de mon bureau avec plaisir...

J'ai trois procédures dans mon code:
La première lit des données reçues sous forme d'un fichier .txt et affiche
une UserForm, qui contient un bouton de validation, lequel cache la UserForm
et appelle la deuxième procèdure, qui "écrit" le document que l'utilisateur
doit compléter.
A partir de là, on est dans Word, hors macro. Pour suggérer à l'utilisateur
un nom au document, et envoyer le document en pièce jointe à des
destinataires définis dans la 1ere procédure, j'ai créé une troisième
procédure (toujours dans mon .dot, qui est appelée par un bouton "Terminer"
situé dans la barre de boutons. Ce bouton n'apparait pas habituellement :
création d'un nouveau document avec normal.dot, ou ouverture d'un document
créé ainsi.
Mais si le document créé avec mon .dot est rouvert ultérieurement, le bouton
est là, ce qui me fait dire que le document en a hérité.
J'ai envoyé le document à une collègue qui n'a pas le modèle : sa barre de
boutons contient le bouton "Terminer".
J'ai suivi le conseil de Corona, et testé la présence d'une variable, ce qui
rend le bouton inopérant, donc pas de problème.
Mais jJe ne comprends pas comment on peut "supprimer l'attache".

Merci de votre aide !
DoMi

"Anacoluthe" wrote:

Bonjour !

'DoMi' nous a écrit ...
Mais pourquoi le document hérite-t-il du bouton qui est dans le modèle ?


Il n'y a pas de transmission du bouton du modèle au document.
Simplement votre document continue à ouvir son modèle attaché.
Ouvrez ce document sur un autre poste : plus de bouton.

Votre bouton 'Terminer' pourrait n'apparaître qu'après avoir
rempli le formulaire UserForm et pourrait aussi s'achever
en supprimant l'attache (Outils/Modèles et complément) à votre
modèle ce qui permettrait de l'ouvrir plus vite ultérieurement
et d'éviter de revoir le bouton.

Anacoluthe
« Observez les modèles. »
- Jean-Auguste-Dominique INGRES




Avatar
Anacoluthe
Bonjour !

'DoMi' nous a écrit ...
Mais jJe ne comprends pas comment on peut "supprimer l'attache".


Outils / Modèles et compléments / Modèles / Attacher

Anacoluthe
« Observez les modèles. »
- Jean-Auguste-Dominique INGRES