Déclenchement automatique d'un bouton dans UserForm - VB/VBA/VBS - Programmation
Marsh Posté le 19-01-2007 à 14:41:46
tu peux faire en même temps que ton apparition de userform la fonction directe tonbontonok_click()
Marsh Posté le 19-01-2007 à 16:15:25
Je pense qu'il faut exploiter l'évènement UserForm_Activate() et y placer, comme l'a écrit jpcheck, l'instruction tonBoutonOK_click()
Un événement est une procédure comme une autre, sauf que c'est Windows qui la déclenche en général. Mais rien ne t'empêche d'y faire appel si ça t'arrange.
Marsh Posté le 20-01-2007 à 08:57:23
Merci les gars pour vos infos mais je ne passe pas au niveau de la syntaxe. Quel est le problème ? Je m'explique :
Dans mon UserForm1, si je clique sur le bouton "BtonOk", le code suivant fonctionne :
Private Sub BtonOk_Click()
... exécution du code fonctionne normalement ...
End Sub
En revanche, si je suis vos instructions et que je code comme ci-dessous, j'ai un message qui apparaît à l'écran : "Erreur de compilation + Erreur de syntaxe". L'écriture BtonOk_Click prend la couleur rouge. Le code est le suivant :
Private Sub UserForm1_Activate()
BtonOk_Click()
End Sub
Merci de me dire ce qui ne colle pas. Cela ne doit pas être grand chose !
Cordialement.
Alain.
Marsh Posté le 22-01-2007 à 13:06:34
Ça doit être les paranthèses de l'appel de la procédure ; essaie comme ça :
Private Sub UserForm1_Activate()
BtonOk_Click
End Sub
Marsh Posté le 23-01-2007 à 13:31:46
Cela fonctionne ! Il s'agissait effectivement des parenthèses qui m'envoyaient au débogage.
Merci beaucoup.
A+.
Marsh Posté le 19-01-2007 à 13:42:58
Bonjour à tous,
Soit 2 UserForm nommés : "UserForm1" et "UserForm2".
Dans UserForm2, j'ai entre autres un bouton nommé "BtonOk".
Question : Lorsque je bascule automatiquement du UserForm1, qui se décharge par Unload, dans le UserForm2, je veux que dès l'apparition du UserForm2, le code déclenche la validation de "BtonOk", sans intervention de ma part.
Qui peut m'aider svp pour le code ? Je précise que je travaille avec "Visual Basic pour Excel 2003.
Merci d'avance.
Alain.