OVH Cloud OVH Cloud

Fin d'exécution

8 réponses
Avatar
Anne
Bonjour,

Je voudrais avoir quelques pr=E9cisions, si possible, sur la mani=E8re
d'interrompre proprement l'ex=E9cution d'une macro.
J'ai plac=E9 des boutons Quitter sur mes userforms, et je voudrais donc
par l=E0 interrompre l'ex=E9cution.
Jusqu'=E0 maintenant j'ai utilis=E9 l'instruction "End" tout simplement,
mais malheureusement cette instruction efface les valeurs contenues
dans les variables (or je voudrais conserver la valeur d'une date
"public" que j'utilise dans plusieurs modules).
J'ai essay=E9 d'utiliser Stop, qui d'apr=E8s l'aide, me permet de
conserver les valeurs des variables. Mais je ne trouve pas cela
satisfaisant, puisque Stop m'am=E8ne au d=E9bogueur (et je ne voudrais
pas que l'utilisateur y aille).

Y a-t-il un autre moyen de terminer l'ex=E9cution, ou d'utiliser les
commandes End et Stop plus proprement peut-=EAtre...?

Merci.

Anne

8 réponses

Avatar
Gérard Ducouret
Bonjour Anne,

Il y a bien l'instruction Static pour conserver la valeur d'une variable
tant que le code du module est en exécution...
mais ce genre de variable ne peut pas être Public. Sa portée est
obligatoirement à l'intérieur de la proc.

Gérard Ducouret

"Anne" a écrit dans le message de
news:
Bonjour,

Je voudrais avoir quelques précisions, si possible, sur la manière
d'interrompre proprement l'exécution d'une macro.
J'ai placé des boutons Quitter sur mes userforms, et je voudrais donc
par là interrompre l'exécution.
Jusqu'à maintenant j'ai utilisé l'instruction "End" tout simplement,
mais malheureusement cette instruction efface les valeurs contenues
dans les variables (or je voudrais conserver la valeur d'une date
"public" que j'utilise dans plusieurs modules).
J'ai essayé d'utiliser Stop, qui d'après l'aide, me permet de
conserver les valeurs des variables. Mais je ne trouve pas cela
satisfaisant, puisque Stop m'amène au débogueur (et je ne voudrais
pas que l'utilisateur y aille).

Y a-t-il un autre moyen de terminer l'exécution, ou d'utiliser les
commandes End et Stop plus proprement peut-être...?

Merci.

Anne
Avatar
Anne
Malheureusement, les valeurs des variables déclarées en Static ne
sont pas non plus conservées après un "End".
L'instrucction Stop renvoit-elle obligatoirement dans l'éditeur VBA?
Avatar
Jan De Messemaeker
Bonjour Anne,

De combien de variables s'agit-il?
Il y a moyen de sauver un nombre de variables dans les zones Text1, Number1,
etc. du Global (ah oui, il a cela aussi)
Bien sur à la réexécution il faudra aller les repêcher.
Si cela 't intéresse je peux dire comment.

Bien à toi,

--
Jan De Messemaeker
Microsoft Project Most Valuable Professional
http://users.online.be/prom-ade/
+32-495-300 620
"Anne" schreef in bericht
news:
Malheureusement, les valeurs des variables déclarées en Static ne
sont pas non plus conservées après un "End".
L'instrucction Stop renvoit-elle obligatoirement dans l'éditeur VBA?
Avatar
Gérard Ducouret
"Anne" a écrit dans le message de
news:
<<Malheureusement, les valeurs des variables déclarées en Static ne
<<sont pas non plus conservées après un "End".
Pourquoi voulez vous mettre un End ?

<<L'instruction Stop renvoit-elle obligatoirement dans l'éditeur VBA? :
Oui, c'est l'équivalent d'un Point d'arrêt.

Gérard Ducouret
Avatar
Anne
Gérard, je voulais mettre un End pour terminer toute l'exécution à
partir d'un bouton Quitter sur chacune de mes userform. Mais peut-être
que ce n'est pas la meilleure solution... Mais je n'en vois pa d'autre.

Jan, j'ai une seule variable à stocker. Donc ta méthode
m'intéresse...

Merci.
Avatar
Jan De Messemaeker
Bonjour Anne,

vbe.vbprojects(1).vbcomponents(1).properties("Text1")

donne accès read-write à cette zone
(Number1 si c'est numérique)

Comme le Global est enregistré automatiquement même à la fermeture de
Project ceci enregistre "solidement" un paramètre.

--
Jan De Messemaeker
Microsoft Project Most Valuable Professional
http://users.online.be/prom-ade/
+32-495-300 620
"Anne" schreef in bericht
news:
Gérard, je voulais mettre un End pour terminer toute l'exécution à
partir d'un bouton Quitter sur chacune de mes userform. Mais peut-être
que ce n'est pas la meilleure solution... Mais je n'en vois pa d'autre.

Jan, j'ai une seule variable à stocker. Donc ta méthode
m'intéresse...

Merci.
Avatar
Anne
Merci beaucoup pour l'info. Je ne savais pas que ce genre de paramètre
existait...
ça correspond exactement à ce que je veux faire!
Avatar
Jan De Messemaeker
Pas de quoi!

--
Jan De Messemaeker
Microsoft Project Most Valuable Professional
http://users.online.be/prom-ade/
+32-495-300 620
"Anne" schreef in bericht
news:
Merci beaucoup pour l'info. Je ne savais pas que ce genre de paramètre
existait...
ça correspond exactement à ce que je veux faire!