Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Utilisation VBA

10 réponses
Avatar
Polio2004
Bonjour au groupe,
Je développe sous EXCEL/EVBA une UserForm1 avec 2 boutons et 7 CheckBox. Mon
application marche bien, mais lorsque je la ré-invoque, je retrouve les
CheckBox déjà initialisés avec leurs dernières valeurs saisies.
Est il possible que j'affiche systématiquement ma UserForm1 avec toutes mes
CheckBox à la valeur False ? Si oui comment.
Merci de votre aide.

10 réponses

Avatar
CAP2
Salut,

mets ce code en place sur ton UserForm :

Private Sub UserForm_Initialize()

checkbox1.valueúlse
checkbox2.valueúlse
'etc...

End Sub

Ca marche ?

CAP2
Avatar
Daniel
Bonjour.
Avec VBA tout court :
Private Sub UserForm_Initialize()
CheckBox1.Value = False
'etc.
End Sub
Cordialement.
Daniel
"Polio2004" a écrit dans le message de news:
%
Bonjour au groupe,
Je développe sous EXCEL/EVBA une UserForm1 avec 2 boutons et 7 CheckBox.
Mon application marche bien, mais lorsque je la ré-invoque, je retrouve
les CheckBox déjà initialisés avec leurs dernières valeurs saisies.
Est il possible que j'affiche systématiquement ma UserForm1 avec toutes
mes CheckBox à la valeur False ? Si oui comment.
Merci de votre aide.



Avatar
Polio2004
Merci. Mais je dois mal le placer, car ce code n'est jamais invoqué. Ma
forme s'appelle SecteurGeo et je l'ai mis dans le code associé à ma forme.

"Polio2004" a écrit dans le message de news:
%
Bonjour au groupe,
Je développe sous EXCEL/EVBA une UserForm1 avec 2 boutons et 7 CheckBox.
Mon application marche bien, mais lorsque je la ré-invoque, je retrouve
les CheckBox déjà initialisés avec leurs dernières valeurs saisies.
Est il possible que j'affiche systématiquement ma UserForm1 avec toutes
mes CheckBox à la valeur False ? Si oui comment.
Merci de votre aide.



Avatar
Daniel
Tu peux aussi le mettre juste avant le userform.show.
Daniel
"Polio2004" a écrit dans le message de news:

Merci. Mais je dois mal le placer, car ce code n'est jamais invoqué. Ma
forme s'appelle SecteurGeo et je l'ai mis dans le code associé à ma forme.

"Polio2004" a écrit dans le message de news:
%
Bonjour au groupe,
Je développe sous EXCEL/EVBA une UserForm1 avec 2 boutons et 7 CheckBox.
Mon application marche bien, mais lorsque je la ré-invoque, je retrouve
les CheckBox déjà initialisés avec leurs dernières valeurs saisies.
Est il possible que j'affiche systématiquement ma UserForm1 avec toutes
mes CheckBox à la valeur False ? Si oui comment.
Merci de votre aide.







Avatar
CAP2
Quand tu es dans VBE, affiche la trame de ton userform, puis double-cliques
dessus. Normalement, il doit te marquer :

Private Sub UserForm_Initialize()

End Sub

et tu n'as plus qu'à mettre le code que l'on t'a donné...

Dès que tu fera ton SecteurGeo.Show et que ton UserForm s'affichera, ce code
se déclanchera tout seul...

C'est mieux ?

CAP2
Avatar
Polio2004
Effectivement çà marche lors de la première invocation. Si je rappelle
l'application sans fermer excel, cette proc n'est plus invoquée. Comment
faire pour qu'elle soit appelée avant chaque affichage. Est ce possible ? Ou
dois je quitter excel et recharger mon classeur ?

"CAP2" a écrit dans le message de news:

Quand tu es dans VBE, affiche la trame de ton userform, puis
double-cliques
dessus. Normalement, il doit te marquer :

Private Sub UserForm_Initialize()

End Sub

et tu n'as plus qu'à mettre le code que l'on t'a donné...

Dès que tu fera ton SecteurGeo.Show et que ton UserForm s'affichera, ce
code
se déclanchera tout seul...

C'est mieux ?

CAP2




Avatar
Nicolas B.
Salut,

Dans ce cas, utilise la procédure Activate :

Private Sub UserForm_Activate()
'...
End Sub


A+
Nicolas B.

Effectivement çà marche lors de la première invocation. Si je rappelle
l'application sans fermer excel, cette proc n'est plus invoquée. Comment
faire pour qu'elle soit appelée avant chaque affichage. Est ce possible ? Ou
dois je quitter excel et recharger mon classeur ?

"CAP2" a écrit dans le message de news:


Quand tu es dans VBE, affiche la trame de ton userform, puis
double-cliques
dessus. Normalement, il doit te marquer :

Private Sub UserForm_Initialize()

End Sub

et tu n'as plus qu'à mettre le code que l'on t'a donné...

Dès que tu fera ton SecteurGeo.Show et que ton UserForm s'affichera, ce
code
se déclanchera tout seul...

C'est mieux ?

CAP2




Avatar
CAP2
Une autre solution possible, c'est de placer le code (checkbox1.Valueúlse,
etc...) dans la procédure qui lance l'affichage de ton userform...

CAP2
Avatar
Polio2004
Merci à tous ceux/celles qui m'ont aidé, maintenant çà marche bien.

"Polio2004" a écrit dans le message de news:
%
Bonjour au groupe,
Je développe sous EXCEL/EVBA une UserForm1 avec 2 boutons et 7 CheckBox.
Mon application marche bien, mais lorsque je la ré-invoque, je retrouve
les CheckBox déjà initialisés avec leurs dernières valeurs saisies.
Est il possible que j'affiche systématiquement ma UserForm1 avec toutes
mes CheckBox à la valeur False ? Si oui comment.
Merci de votre aide.



Avatar
Jacques93
Bonjour Polio2004,

Normalement, si tu affiches ta form avec

NomDeForm.Show

et que tu la décharge avec

Unload NomDeForm
ou
Unload Me

Au prochain chargement, elle doit être à son état initial.
Les contrôles ne gardent leurs valeurs et propriétés que
si tu caches la feuille :

NomDeForm.Hide
ou
Me.Hide

Bonjour au groupe,
Je développe sous EXCEL/EVBA une UserForm1 avec 2 boutons et 7 CheckBox. Mon
application marche bien, mais lorsque je la ré-invoque, je retrouve les
CheckBox déjà initialisés avec leurs dernières valeurs saisies.
Est il possible que j'affiche systématiquement ma UserForm1 avec toutes mes
CheckBox à la valeur False ? Si oui comment.
Merci de votre aide.



--
Cordialement,

Jacques.