lancer macro après affichage userform

  • Initiateur de la discussion Initiateur de la discussion mutzik
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

mutzik

XLDnaute Barbatruc
Bonjour à toutes et tous,

2 jours que je cherche, ici et ailleurs ...
tout est dans le titre, après que mon userform soit affiché, je voudrais qu'une macro se déclenche automatiquement

j'ai essayé dans le activate, mais la macro s'execute avant l'affichage et je souhaiterai l'inverse, ceci pour expliquer à l'utilisateur ce qui se passe et le faire patienter

Merci à vous
 
bonjour le forum bonjour le fil
avec l'activate la macro s'exécute en même temps que l'affichage. (moins sur, pour initialize)
une idée comme ça. pour une temporisation, pourquoi ne pas interposer avant la macro une msgbox
cordialement galougalou
 
bonjour
@job75 si du code est exécute dans le activate et bug et que la macro est en corrélation avec ce qui est fait dans le activate ça fait un paquet de nœuds de la programmer avant

le le app.ontime dans le activate et juste avant le end sub 😉

VB:
Private Sub UserForm_Activate()
'ton code qui doit etre executé ici
'
'et enfin
Application.OnTime Now + 0.00001, "roule_ma_poule"
End Sub
 
re
@job75 par ce que ça peut arriver
et la macro doit être lancée après le activate si ton pc rame pour une raison ou une autre ton 1 fera pas la différence si le userform est affiché avec son repaint correctement et entièrement appliqué
d'ailleurs chez moi ton code affiche le msgbox avant le userform
 
Bon, comme d'hab je vais squatter quelques instants le fil pour essayer d'en apprendre un peu plus sur Excel...

Ça change quoi de mettre Application.OnTime 1, ???
VB:
Sub USF()
    Application.OnTime 1, "MaMacro"
    UserForm1.Show
End Sub

Si on ne le met pas, la macro est quand même exécutée avant d'afficher le formulaire. Non ?
VB:
Sub USF()
    Call MaMacro
    UserForm1.Show
End Sub

De plus, il me semble que ça lance la macro avant d'afficher le formulaire alors que la demande était de lancer la macro après l'affichage du formulaire.

Bref, avec mes immenses connaissances en Excel et VBA... je ne pige pas.
Pourrais-tu, s'il te plait Job, me donner quelques explications claires ?
 
Dernière édition:
Bonsoir à tous,

Et comme cela, sans OnTime, ça marche ou ça marche pas ?
VB:
Private Sub UserForm_Activate()
Static Fait As Boolean
   If Not Fait Then Fait = True: maMacroExterne
End Sub

V1 sans tempo dans UserForm_Initialize
V2 avec tempo dans UserForm_Initialize pour simuler une longue initialisation
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
456
Réponses
2
Affichages
556
  • Question Question
Microsoft 365 VBS / Macro
Réponses
3
Affichages
1 K
Réponses
9
Affichages
2 K
Retour