VBA-Quelle propriété pour Userform réutilisé?
Résolu
lml-mike
Messages postés
455
Date d'inscription
Statut
Contributeur
Dernière intervention
-
lml-mike Messages postés 455 Date d'inscription Statut Contributeur Dernière intervention -
lml-mike Messages postés 455 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'utilise VBA avec office Excel 2007 sur 3 feuilles dans un même classeur.
J'execute des contrôles sur un tableau de clients, et effectue des modifications sur celui ci, après en avoir affiché les informations sur un userform.
Ce userform fait apparaitre des informations selon des conditions bien spécifiques, puis propose des actions.
Après ces actions effectuées, et après re-contrôle, le userform réapparaît s'il y a eu plusieurs informations erronnées (une action est traitée à la fois).
J'aimerais savoir comment je peux configurer mon userform pour qu'il réeffectue tous les contrôles à l'activation, sachant que je ne peux pas le Unload. Le activate ne fonctionne que la première fois...
Merci beaucoup :)
J'utilise VBA avec office Excel 2007 sur 3 feuilles dans un même classeur.
J'execute des contrôles sur un tableau de clients, et effectue des modifications sur celui ci, après en avoir affiché les informations sur un userform.
Ce userform fait apparaitre des informations selon des conditions bien spécifiques, puis propose des actions.
Après ces actions effectuées, et après re-contrôle, le userform réapparaît s'il y a eu plusieurs informations erronnées (une action est traitée à la fois).
J'aimerais savoir comment je peux configurer mon userform pour qu'il réeffectue tous les contrôles à l'activation, sachant que je ne peux pas le Unload. Le activate ne fonctionne que la première fois...
Merci beaucoup :)
A voir également:
- VBA-Quelle propriété pour Userform réutilisé?
- Excel compter cellule couleur sans vba - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Mkdir vba ✓ - Forum VB / VBA
- Dépassement de capacité vba ✓ - Forum Excel
2 réponses
tu as 2 type d'évenement sur une userform
Intialize = qui ne s'éxécute qu'une fois a la création de la fenetre
Activate = qui s'éxécute chaque fois que la fenetre gagne le focus après avoir été masquée
dans le cas ou ton formulaire s'appelle toto, cela donne
tu mets le code qu'il faut dans la procédure xxx_Activate(), chaque fois que ta fenetre apparait ce code s'exécutera
Intialize = qui ne s'éxécute qu'une fois a la création de la fenetre
Activate = qui s'éxécute chaque fois que la fenetre gagne le focus après avoir été masquée
dans le cas ou ton formulaire s'appelle toto, cela donne
Private Sub toto_Activate() End Sub Private Sub toto_Initialize() End Sub
tu mets le code qu'il faut dans la procédure xxx_Activate(), chaque fois que ta fenetre apparait ce code s'exécutera
J'ai pu résoudre mon problème qui ne vient pas de l'activate mais du message d'erreur.
Les évènements suivants restaient affichés malgré la réouverture suite a un userform.hide :
Mon problème était que je corrigeais mon erreur mais sans réinitialiser les variables d'erreur à "" . Normal qu'elles soient réaffichées :D
Merci beaucoup !
Les évènements suivants restaient affichés malgré la réouverture suite a un userform.hide :
Private Sub UserForm_activate() erreur1 = NouveauClient.erreur1 erreur2 = NouveauClient.erreur2 erreur3 = NouveauClient.erreur3 nomclient = NouveauClient.nom_client.Value If erreur1 <> "" Then erreur_1.Visible = True erreur_1b.Visible = True valeur1.Visible = True ReprendreCarte.Enabled = True ReprendreCarte.Visible = True valeur1.Value = erreur1 End If If erreur2 <> "" Then erreur_2.Visible = True valeur2.Visible = True ReprendreCarte.Enabled = True ReprendreCarte.Visible = True valeur2.Value = erreur2 End If If erreur3 <> "" Then erreur_3.Visible = True erreur_3b.Visible = True valeur3.Visible = True dettesPayées.Enabled = True dettesPayées.Visible = True valeur3.Value = erreur3 End If End Sub
Mon problème était que je corrigeais mon erreur mais sans réinitialiser les variables d'erreur à "" . Normal qu'elles soient réaffichées :D
Merci beaucoup !