OVH Cloud OVH Cloud

Mise en place de controle de macros

4 réponses
Avatar
ed
Bonsoir,
J'a créé une macro et souhaiterais mettre en place un controle sur elle.
cad. Si la macro a déjà été exécutée dans une feuille, spécifier par boite de
dialogue que le travail est déjà fait et surtout bloquer l'exécution de la
macro. Est-ce possible?
Merci de vos suggestions.
ed

4 réponses

Avatar
blutch
Salut ed,

une petite astuce en attendant une meilleure soluce,
utilise une cellule de ta feuille qui ne te sert à rien et qui est en
principe vide(exemple A1).

Au début de ta macro tu écris
if [a1].value = "x" then
msgbox "macro déjà exécutée sur cette feuille"
exit sub
else
end if

A la fin de ta macro tu écris
[a1].value = "x"

A bientôt
Blutch
Avatar
Ange Ounis
Tu peux essayer une variable booléenne globale.
Dans le haut d'un module ordinaire :

Public DejaFait As Boolean

Sub MaProc()
Select Case DejaFait
Case False
'instructions
DejaFait=True
Case True
MsgBox "Déjà fait"
End Select
End Sub


----------
Ange Ounis
----------

Bonsoir,
J'a créé une macro et souhaiterais mettre en place un controle sur elle.
cad. Si la macro a déjà été exécutée dans une feuille, spécifier par boite de
dialogue que le travail est déjà fait et surtout bloquer l'exécution de la
macro. Est-ce possible?
Merci de vos suggestions.
ed


Avatar
garnote
Salut Ed,

Une suggestion à adapter :
Sub Bonjour()
Static x
If x = "oui" Then
MsgBox "Déjà exécuté."
Exit Sub
End If
MsgBox "Bonjour."
x = "oui"
End Sub

Serge

"ed" a écrit dans le message de news:

Bonsoir,
J'a créé une macro et souhaiterais mettre en place un controle sur elle.
cad. Si la macro a déjà été exécutée dans une feuille, spécifier par boite
de
dialogue que le travail est déjà fait et surtout bloquer l'exécution de la
macro. Est-ce possible?
Merci de vos suggestions.
ed


Avatar
ed
Merci à vous trois ! de vos tres bons conseils. C'est top !
ed


Bonsoir,
J'a créé une macro et souhaiterais mettre en place un controle sur elle.
cad. Si la macro a déjà été exécutée dans une feuille, spécifier par boite de
dialogue que le travail est déjà fait et surtout bloquer l'exécution de la
macro. Est-ce possible?
Merci de vos suggestions.
ed