Problème arrêt Timer(application.onTime)
Bonjour
J’utilise un timer (application.onTime ) pour lancer des macros , les timer fonctionne correctement au lancement , cependant je ne comprends pas comment arrêter ces timer lors de la fermeture du classeur
La procédure « application.onTime » ce relance même si le classeur est fermé. (Et fait forcement bugger les autres classeurs ouverts)
Pour arrêter complètement la procédure je suis obligé de fermer tous les classeurs Excel ouverts.
Ci-joint les timer que j’essaie d’utiliser.
Grand Merci pour votre aide
Bonsoir vlad92
je pense que tu peux t'inspirer du classeur proposé par Jean-Eric » 8 février 2015, 20:52.
Bonsoir,
Déjà, tu utilises des variables sans les déclarer !
Mais en outre tu sembles penser qu'une variable initialisée va demeurer et que tu vas continuer à pouvoir l'utiliser !
Pour que des variables conservent la valeur à laquelle elles ont été initialisées, elles doivent être déclarées au niveau module.
De plus tes procédures d'arrêt souffrent d'une erreur de syntaxe (revoir la syntaxe).
NB- Déjà 3 modules pour 3 fois rien comme code !
D'autant que des procédures qui se contentent d'activer un classeur sont d'une inutilité flagrante, parce que activer pour ne rien faire ne sert à rien, et activer pour faire autre chose, c'est l'activation qui est de trop.
Cordialement.
Bonjour
Merci pour votre aide
Effectivement avec des variables ça marche beaucoup mieux
J’en profite pour demande encore un petit conseil au sujet des activations des classeur que tu dis inutile.
Comment faire alors avec des timer qui lance la macro du classeur si celui-ci n’est pas active ????
La petite procédure me sert justement à éviter les erreurs « indice de selection » par exemple
si en plus le classeur change de nom
Je sais que j’ai encore beaucoup à apprendre mais je progresse
Merci encore pour votre aide
Un classeur n'a pas besoin d'être actif pour qu'une macro s'exécute. C'est l'application qui l'exécute lorsque le moment est arrivé, et qui éventuellement attend d'avoir la main pour le faire.
Ceci dit, comme la procédure lancée ne fait qu'activer un classeur, on ne verra rien d'autre, sauf les MsgBox...