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

[VBA-Word de Office2000] Initialisation de paramètres

7 réponses
Avatar
H.B.
Bonjour à tous et toutes,


J'ai un Userform UU qui doit récupérer un certain nombre de paramètres
P(i ). Il est incorporé, avec le module MM de macros qui le gère, dans un
modèle particulier XX.dot . Une fois les paramètres modifiés par
l'utilisateur, l'appel du userform se charge de récupérer les valeurs
actuelles des P(i). En revanche, je désire que lors du chargement du modèle,
des valeurs par défauts soient affectés et ça ne marche pas ...
( les noms données sont bidons mais courts ... )
Voici ce que j'ai fait :

Les paramètres sont déclarés (public ) dans le module MM.
Il y a une sub MetAJour de mise à jour de UU :
P(i) ----> UU
une sub Recup de récupération :
UU ----> P(i)
une sub FaitLe de gestion des données ( qui génère un
certain nombre de lignes dans ActiveDocument ...)
une sub InitParam d'initialisation des paramètres :
Valeurs par défaut ----> P(i)
une sub MenuAppel qui lance tout ça ( par un élément d'un
menu propre à XX.dot) :

sub MenuAppel()
MetAJour
OK = False
UU.Show
If OK then
Recup
FaitLe
End If
End Sub

UU posède deux boutons NIET et VAZI
les routines sont
NIET_Click()
UU.Hide
end sub

VAZI_Click()
OK = True
UU.Hide
End_Sub

Le Boolean OK me permet de gérer la fermeture directe ( croix en haut à
droite ...)
sans avoir recours à Querry_Close ...

J'ai mis InitParam dans la macro Document_Open() de XX.dot
et aussi dans une macro nommée AutoExec() placée dans le module MM ...

Au premier appel le formulaire ne contient rien ...

Si avant ce premier appel, je lance "à la main" InitParam,
cela fonctionne correctemement...

Que n'ai-je pas pigé dans le lancement à l'ouverture ?

7 réponses

Avatar
Bonjour,
Dans le module où se trouve 'InitParam'
Déclarer tes variables comme publiques ' Public nomVaraible As String
Et pour moi dans un modèle, c'est avec 'Document_New'

Private Sub Document_New()
Initparam
UU.Show
End Sub
Philippe

"H.B." a écrit dans le message de
news:btrlu4$h9i$
Bonjour à tous et toutes,


J'ai un Userform UU qui doit récupérer un certain nombre de paramètres
P(i ). Il est incorporé, avec le module MM de macros qui le gère, dans un
modèle particulier XX.dot . Une fois les paramètres modifiés par
l'utilisateur, l'appel du userform se charge de récupérer les valeurs
actuelles des P(i). En revanche, je désire que lors du chargement du
modèle,

des valeurs par défauts soient affectés et ça ne marche pas ...
( les noms données sont bidons mais courts ... )
Voici ce que j'ai fait :

Les paramètres sont déclarés (public ) dans le module MM.
Il y a une sub MetAJour de mise à jour de UU :
P(i) ----> UU
une sub Recup de récupération
:

UU ----> P(i)
une sub FaitLe de gestion des données ( qui génère
un

certain nombre de lignes dans ActiveDocument ...)
une sub InitParam d'initialisation des paramètres :
Valeurs par défaut ----> P(i)
une sub MenuAppel qui lance tout ça ( par un élément d'un
menu propre à XX.dot) :

sub MenuAppel()
MetAJour
OK = False
UU.Show
If OK then
Recup
FaitLe
End If
End Sub

UU posède deux boutons NIET et VAZI
les routines sont
NIET_Click()
UU.Hide
end sub

VAZI_Click()
OK = True
UU.Hide
End_Sub

Le Boolean OK me permet de gérer la fermeture directe ( croix en haut à
droite ...)
sans avoir recours à Querry_Close ...

J'ai mis InitParam dans la macro Document_Open() de XX.dot
et aussi dans une macro nommée AutoExec() placée dans le module MM ...

Au premier appel le formulaire ne contient rien ...

Si avant ce premier appel, je lance "à la main" InitParam,
cela fonctionne correctemement...

Que n'ai-je pas pigé dans le lancement à l'ouverture ?











Avatar
H.B.
<Philippe Tulliez> a écrit dans le message de
news:
Bonjour,
Dans le module où se trouve 'InitParam'
Déclarer tes variables comme publiques ' Public nomVaraible As String


C'est déjà le cas

Et pour moi dans un modèle, c'est avec 'Document_New'
Private Sub Document_New()
Initparam
UU.Show <----- sans cela car


car l'utilisation de UU n'est pas une procédure indispensable
mais une des possibilités offertes

End Sub



Merci beaucoup,

Je vais regarder avec Document_New

Et l'histoire des AutoExec ? qui sait des choses ?

H.B.

Avatar
Guy Moncomble
Bonjour à tous,
dans le message btrlu4$h9i$,

| Bonjour à tous et toutes,
|
|
| J'ai un Userform UU qui doit récupérer un certain nombre de paramètres
| P(i ). Il est incorporé, avec le module MM de macros qui le gère,
| dans un modèle particulier XX.dot . Une fois les paramètres modifiés
| par l'utilisateur, l'appel du userform se charge de récupérer les
| valeurs actuelles des P(i). En revanche, je désire que lors du
| chargement du modèle, des valeurs par défauts soient affectés et ça
| ne marche pas ... ( les noms données sont bidons mais courts ... )
| Voici ce que j'ai fait :
|
| Les paramètres sont déclarés (public ) dans le module MM.
| Il y a une sub MetAJour de mise à jour de UU :
| P(i) ----> UU
| une sub Recup de récupération
| : UU ----> P(i)
| une sub FaitLe de gestion des données ( qui
| génère un certain nombre de lignes dans ActiveDocument ...)
| une sub InitParam d'initialisation des paramètres
| : Valeurs par défaut ----> P(i)
| une sub MenuAppel qui lance tout ça ( par un élément
| d'un menu propre à XX.dot) :
|
| sub MenuAppel()
| MetAJour
| OK = False
| UU.Show
| If OK then
| Recup
| FaitLe
| End If
| End Sub
|
| UU posède deux boutons NIET et VAZI
| les routines sont
| NIET_Click()
| UU.Hide
| end sub
|
| VAZI_Click()
| OK = True
| UU.Hide
| End_Sub
|
| Le Boolean OK me permet de gérer la fermeture directe ( croix en haut
| à droite ...)
| sans avoir recours à Querry_Close ...
|
| J'ai mis InitParam dans la macro Document_Open() de XX.dot
| et aussi dans une macro nommée AutoExec() placée dans le module MM ...
|
| Au premier appel le formulaire ne contient rien ...
|
| Si avant ce premier appel, je lance "à la main" InitParam,
| cela fonctionne correctemement...
|
| Que n'ai-je pas pigé dans le lancement à l'ouverture ?

Une macro open va s'exécuter à l'ouverture d'un document, modèle ou doc
généré par le modèle. Une exec va se lancer à l'ouverture de word ou à
l'activation d'une macro complémentaire.
Si tu n'est pas dans un de ces cas tu as peu de chances de réussir.
Cela dit ce genre de manip me paraît inutile. Pourquoi ne pas
initialiser par défaut, puis modifier selon les actions de l'utilisateur
?
--
A+

G.M. MVP Word
Avatar
H.B.
"Guy Moncomble" <http://cerbermail.com/?QOoOlzu81P> a écrit dans le message
de news:O8dLh%
Bonjour à tous,
dans le message btrlu4$h9i$,

|
| J'ai mis InitParam dans la macro Document_Open() de XX.dot
| et aussi dans une macro nommée AutoExec() placée dans le module MM ...
|
| Au premier appel le formulaire ne contient rien ...
|
| Si avant ce premier appel, je lance "à la main" InitParam,
| cela fonctionne correctemement...
|
| Que n'ai-je pas pigé dans le lancement à l'ouverture ?

Une macro open va s'exécuter à l'ouverture d'un document, modèle ou doc
généré par le modèle. Une exec va se lancer à l'ouverture de word ou à
l'activation d'une macro complémentaire.


Cela devrait donc se produire puisque lors des tests :
Je décharge XX.dot
Je demande nouveau... et je choisis XX.dot comme modèle :

La macro AutoExec devrait situé dans un module de XX devrait donc se lancer
?

Les macros Document_Open() et Document_New() de XX ( ThisDocument)
devraient donc ausi se lancer... Je n'ai que l'ambarras du choix ..

Si tu n'est pas dans un de ces cas tu as peu de chances de réussir.
... !

Cela dit ce genre de manip me paraît inutile. Pourquoi ne pas
initialiser par défaut, puis modifier selon les actions de l'utilisateur
?


En fait, j'aimerais , à terme, stocker les derniers params utilisés dans la
BDR et
donc pouvoir les relancer à l'ouverture ...
de façon que la personnalisation dépasse la durée d'une session Word ...

Voilà, et je ne vois toujours pas pourquoi ça ne veut pas marcher ...

Bien cordialement,
H.B.

Avatar
H.B.
"H.B." a écrit dans le message de
news:btv3bg$r4a$

ça y est, ça marche!


Je me sert de document_new() du *.dot

Merci à tous ,

H.B

Avatar
Guy Moncomble
Bonjour à tous,
dans le message btv3bg$r4a$,


| Cela devrait donc se produire puisque lors des tests :
| Je décharge XX.dot
| Je demande nouveau... et je choisis XX.dot comme modèle :
|
| La macro AutoExec devrait situé dans un module de XX devrait donc se
| lancer ?

non !

| Les macros Document_Open() et Document_New() de XX ( ThisDocument)
| devraient donc ausi se lancer... Je n'ai que l'ambarras du choix ..

non, tu n'as que l'embarras (pas pu résister...)

| Voilà, et je ne vois toujours pas pourquoi ça ne veut pas marcher ...

Il faut que tu essayes d'y voir plus clair dans le déroulement des
opérations : in message émis par les différentes macros automatiques
aiderait. Tu peux aussi exécuter pas à pas. Après on verra.
--
A+

G.M. MVP Word
Avatar
H.B.
"Guy Moncomble" <http://cerbermail.com/?QOoOlzu81P> a écrit dans le message
de news:
Bonjour à tous,
dans le message btv3bg$r4a$,


je suis franchement embarrassé par cet ambarras :o)


| devraient donc ausi se lancer... Je n'ai que l'ambarras du choix ..
non, tu n'as que l'embarras (pas pu résister...)


c'est humain
-----------retour au sujet ----------------

ça marche (enfin) en lançant dans Document_New() du .dot

H.B.