OVH Cloud OVH Cloud

Macro dangereuse

1 réponse
Avatar
garnote
Bonjour tout le monde,

Voici une macro qui en appelle d'autres:

Sub Déplace()
Worksheets("Monstration").Shapes("place").Visible = False
Application.EnableCancelKey = xlErrorHandler
On Error GoTo FIN
Application.Interactive = False
[F31].Select
Mise_En_Place
découpage
DoEvents
Sleep (1000)
descente4
descente3
descente2
descente1
DescenteBleue
FIN:
Worksheets("Monstration").Shapes("place").Visible = True
Application.Interactive = True
End Sub

Pour vérifier certaines choses, j'ai eu le malheur de mettre un
«Exit Sub» sous «descente4». Conséquence : sablier indélogeable.
*Moi taper sur «Alt+Ctrl+Suppr» pour m'en sortir; pas très chic !
AMHA, je ne pouvais pas faire autrement; si c'est le cas,
suis-je obligé d'enlever les :

Application.EnableCancelKey = xlErrorHandler
On Error GoTo FIN
Application.Interactive = False
FIN:
Application.Interactive = True

au cas ou un utilisateur écrive «Exit Sub» dans cette macro ?
À moins qu'il faille la structurer autrement ?
M'est avis qu'il faut être d'une extrême prudence avec ce
genre d'instructions, n'est-il pas ?

Serge

1 réponse

Avatar
anonymousA
bonjour,

c'est surtout le application.interactive qu'il faut éviter au plus haut
point.A utilsier avec une modération absolue sous peine de se retrouver dans
la configuration que tu as pu rencontrer.

A+


Bonjour tout le monde,

Voici une macro qui en appelle d'autres:

Sub Déplace()
Worksheets("Monstration").Shapes("place").Visible = False
Application.EnableCancelKey = xlErrorHandler
On Error GoTo FIN
Application.Interactive = False
[F31].Select
Mise_En_Place
découpage
DoEvents
Sleep (1000)
descente4
descente3
descente2
descente1
DescenteBleue
FIN:
Worksheets("Monstration").Shapes("place").Visible = True
Application.Interactive = True
End Sub

Pour vérifier certaines choses, j'ai eu le malheur de mettre un
«Exit Sub» sous «descente4». Conséquence : sablier indélogeable.
*Moi taper sur «Alt+Ctrl+Suppr» pour m'en sortir; pas très chic !
AMHA, je ne pouvais pas faire autrement; si c'est le cas,
suis-je obligé d'enlever les :

Application.EnableCancelKey = xlErrorHandler
On Error GoTo FIN
Application.Interactive = False
FIN:
Application.Interactive = True

au cas ou un utilisateur écrive «Exit Sub» dans cette macro ?
À moins qu'il faille la structurer autrement ?
M'est avis qu'il faut être d'une extrême prudence avec ce
genre d'instructions, n'est-il pas ?

Serge