Lancer macro 10s après ouverture

yoyosse

XLDnaute Nouveau
Bonjour,

je ne maîtrise pas grandement les macro sous Excel, mais grâce à la participation et à la patience de nombreux forumiens, j'avance dans mon apprentissage ;)

Voila je voudrais lancer une macro 10 secondes après l'ouverture d'Excel (au passage, c'est possible de faire ceci qu'après seulement la première ouverture du fichier ? Par exemple , mettre une condition de lancement : si le nombre de feuille dans le classeur > 3 alors pas la peine de lancer la macro...), et j'aimerais ensuite qu'il s'enregistre automatiquement.

J'ai trouvé un bout de programme pour le lancement après 10s :

Private Sub Workbook_Open()
Application.OnTime Now + TimeValue("00:00:10"), "s2.tdb"
End Sub

mais ceci ne fonctionne pas (je souhaite lancer la macro tdb qui est dans la feuille s2)

Quelqu'un a une idée ?
 
Dernière édition:

Gorfael

XLDnaute Barbatruc
Re : Lancer macro 10s après ouverture

Bonjour,

je ne maîtrise pas grandement les macro sous Excel, mais grâce à la participation et à la patience de nombreux forumiens, j'avance dans mon apprentissage ;)

Voila je voudrais lancer une macro 10 secondes après l'ouverture d'Excel (au passage, c'est possible de faire ceci qu'après seulement la première ouverture du fichier ? Par exemple , mettre une condition de lancement : si le nombre de feuille dans le classeur > 3 alors pas la peine de lancer la macro...), et j'aimerais ensuite qu'il s'enregistre automatiquement.

J'ai trouvé un bout de programme pour le lancement après 10s :

Private Sub Workbook_Open()
Application.OnTime Now + TimeValue("00:00:10"), "s2.tdb"
End Sub

mais ceci ne fonctionne pas (je souhaite lancer la macro tdb qui est dans la feuille s2)

Quelqu'un a une idée ?
Salut
Sans êtr sur, il me semble que la macro doit obligatoirement être surun moduke général. Ou alors, c'est une syntaxe que je n'ai pas encore trouvé

Par contre, il faut arêter le OnTimer par une instruction de cloture (schedule à faux)

Tu peux intercaler l'instruction
if ThisWorkBook.Worksheets.count>3 then exitsub
juste derrière le titre de la macro, pour que l acro ne s'exécute pas si tu as plus de 3 feuilles dans ce classeur de la macro.
A+
 

yoyosse

XLDnaute Nouveau
Re : Lancer macro 10s après ouverture

Bonjour à vous, merci pour votre aide.

Escalibur, c'est bien de ce que je souhaite, mais effectivement, Gorfael, un message d'erreur apparait, et il faut surement que je mette ma fonction dans un module. Malheureusement, je n'y connait rien en module, et je ne sais pas comment adapter ma fonction qui est liée à une feuille, à un modèle (quel est l'intérêt d'un module par rapport à la liaison avec une feuille ?)

Je vous envoie mon fichier, si vous voulez y jeter un petit coup d'oeil.
 

Discussions similaires

Statistiques des forums

Discussions
312 697
Messages
2 091 065
Membres
104 750
dernier inscrit
Chukky