VBA-Quelle propriété pour Userform réutilisé?
Résolu
lml-mike
Messages postés
487
Statut
Contributeur
-
lml-mike Messages postés 487 Statut Contributeur -
lml-mike Messages postés 487 Statut Contributeur -
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
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - 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 !