raz d'un userform sous conditions

  • Initiateur de la discussion Initiateur de la discussion tibo5619
  • 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 !

T

tibo5619

Guest
Bonjour,

Je suis en train de faire une petite application sur excel et VB et j'ai un blocage.

Mon application possède 2 userform (un premier userform d'accueil et un second avec l'application)

Lorsque je suis sur ma page d'accueil, 2 options se présentent (via 2 commandbutton) : la première consiste à voir le deuxième userform avec les informations rentrées par l'utilisateur précédent (pour ça aucun soucis jusqu'a présent)

Le second bouton consiste à ouvrir le même userform mais en réinitialisant tous les paramètres qui auraient pu etre rentrés par un précédent utilisateur.

J'ai trouvé comment effectuer la remise à zéro, mais je bloque tout simplement sur le faites de la faire via un autre userform.

J'espère que j'ai réussi à me faire comprendre 😕

Merci de votre aide
 
Re : raz d'un userform sous conditions

Bonjour Tibo5619,

Je sais pas si j'ai tout compris. Pas facile sans un fichier exemple.
Mais je pense que la solution serait de charger le deuxième userform sans l'afficher (faire un load et pas un show).
A partir de là tu peux le réinitialiser en préfixant les contrôles par le nom de ton userform puis faire un show quand tu as tout vidé.

Poste un exemple si ma réponse n'est pas claire pour toi.
 
Re : raz d'un userform sous conditions

Désolé si je vais te paraître si novice, quand tu parles de fichier exemple, cela correspond à poster un partie de mon code ou à mettre en pièce jointe mon fichier excel ?

Sinon j'ai du mal à voir comment utiliser ma fonction "load"

J'ai essayé ceci mais à mon avis je suis pas sur la bonne voie

Code:
Private Sub CommandButton1_Click()
    UserForm3.Hide 'cache mon premier userform
    
    UserForm1.Load 'charge mon second userform
    
    'effectue la remise à zéro de mon second userform
    Dim Ctrl As Control
    For Each Ctrl In Me.Controls
    If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox Or TypeOf Ctrl Is MSForms.OptionButton Then _
    Ctrl.Object.Value = ""
    Next Ctrl

    UserForm1.Show 'ouvre mon second userform avec raz

End Sub
 
Re : raz d'un userform sous conditions

Code:
Private Sub CommandButton1_Click()
    UserForm3.Hide 'cache mon premier userform
    
    UserForm1.Load 'charge mon second userform
    
    'effectue la remise à zéro de mon second userform
    Dim Ctrl As Control
    For Each Ctrl In Me.Controls
    If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox Or TypeOf Ctrl Is MSForms.OptionButton Then _
    Ctrl.Object.Value = ""
    Next Ctrl

    UserForm1.Show 'ouvre mon second userform avec raz

End Sub

je viens de voir que load s'utilise comme ceci

load(userform1)
 
Re : raz d'un userform sous conditions

Désolé de poster autant, mais j'avance au fur et à mesure sur mon projet ^^

J'ai réussi à faire ce que je voulais mais cela reste assez compliqué

Si tu as une solution plus courte fais le moi savoir

Code:
Private Sub CommandButton1_Click()
    UserForm3.Hide 'cache mon premier userform
    
   With UserForm1
    .TextBox1.Value = ""
    .TextBox2.Value = ""
    .TextBox3.Value = ""
    .TextBox4.Value = ""
    .TextBox5.Value = ""
    .TextBox7.Value = ""
    .TextBox8.Value = ""
    .TextBox9.Value = ""
    .TextBox10.Value = ""
    .TextBox11.Value = ""
    .OptionButton1 = False
    .OptionButton2 = False
    .OptionButton3 = False
    .ComboBox1 = ""
    .ComboBox2 = ""
    .Show 'ouvre mon second userform avec raz

End With
    
End Sub

Merci en tout cas 🙂
 
Re : raz d'un userform sous conditions

Bonjour tibo,

Désolé je dois partir au boulot. Je pourrais répondre que ce soir.

Essaye de regarder dans l'aide. De mémoire on peut utiliser un objet comme Controls pour tout vider d'un coup mais j'ai pas le temps de creuser là.

Bonne journée.
 
Re : raz d'un userform sous conditions

Bonjour Tibo, José🙂

regarde peut être ceci, à adapter :
Code:
Dim c As Control
For Each c In Me.Controls
    Select Case TypeName(c)
        Case "TextBox", "ComboBox"
            c.Value = ""
        Case "OptionButton", "CheckBox"
            c.Value = False
        Case Else
            MsgBox TypeName(c)
    End Select
Next c

bonne journée
@+
 
Re : raz d'un userform sous conditions

Bonjour Pierrot93

J'ai très bien compris ta méthode puisque je l'ai adapté pour un autre bouton de remise à zéro.

Seulement dans le cas problématique ici, je voudrais que cette remise à zéro s'effectue via un command button d'un autre userform

En clair (je l'espère), j'ai ma page d'accueil qui me propose via un bouton, de lancer l'application en remettant tous mes paramètres à zéro ou via un autre bouton, de lancer l'application en récupérant les paramètres précédents

Le soucis ici est de faire la remise à zéro d'un userform via un bouton d'un autre userform

Le dernier post que j'ai effectué (23h37) fonctionne, mais je cherche à voir comment adapter ta méthode à la situation vu que c'est bien plus simple.

J'espère que j'arrive à me faire comprendre 😕

merci en tout cas
 
Re : raz d'un userform sous conditions

ça marche =) ! si j'avais su que c'était aussi simple ...

Par contre pour être sur d'avoir bien compris, le "me.controls" correspond en fait à l'ensemble des contrôles de mon userform sur lequel je me trouve (par défaut)

un grand merci Pierrot
 
Re : raz d'un userform sous conditions

Re,

"me" correspond à l'objet ou se trouve le code, si dans module de l'usf, correspond à l'usf, si dans le module d'une feuille de calcul, correspond à cette même feuille...

ci-dessous extrait de l'aide vba sur ce mot clé :
le mot clé Me offre la possibilité de faire référence à l'instance de la classe dans laquelle le code est exécuté.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

V
Réponses
2
Affichages
2 K
VOILLOT
V
D
Réponses
9
Affichages
5 K
D
S
Réponses
28
Affichages
6 K
S
T
Réponses
7
Affichages
2 K
T
L
Réponses
3
Affichages
1 K
B
Réponses
2
Affichages
1 K
bartelele
B
P
Réponses
7
Affichages
1 K
Retour