Réinitialiser un UserForm

Bonjour à tous!

J'ai un petit soucis étrange avec la réinitialisation de l'un de mes UserForm. Je vous explique... J'ai un UserForm principal ou se retrouve une ListBox1 et à partir de cette ListBox1 je double clique pour ouvrir un autre UserForm d'où il y a toute l'information. Toutefois quand je ferme ce 2e UserForm, le premier ne se réinitialise pas toujours, des fois oui, des fois non c'est vraiment étrange.

J'aimerais donc être capable qu'une fois le 2e Userform soit fermé mon UserForm Principal se réinitialise à chaque fois. Pouvez-vous m'aider? :)

Bonjour

Pourquoi réinitialiser ?

Crdlt

Bonjour Dan,

Puisque quand je quitte le 2e UserForm, le premier doit ce mettre à jour avec les informations que j'aurai enregistré. Je te joints le fichier pour mieux comprendre.

Désolé mais j'ai du retirer votre fichier qui contient des données personnelles. Extrait de la charte du formul

Joignez (si possible) un fichier pour augmenter vos chances d'obtenir de l'aide en cliquant sur le bouton Fichier de l'éditeur. Si votre fichier est trop lourd ou contient des données personnelles, créez une version allégée de votre fichier avec juste assez d'informations pour permettre de comprendre votre problème. Dans tous les cas, ne postez JAMAIS de fichiers avec des informations personnelles ou confidentielles (cet utilitaire peut vous aider à les retirer).


Puisque quand je quitte le 2e UserForm, le premier doit ce mettre à jour avec les informations que j'aurai enregistré. Je te joints le fichier pour mieux comprendre.

De quelle userform parlez vous ? il y en 6

Rem :
J'ai bien ouvert une userform directive mais avec un écran 15" c'est cata on ne sait plus sortir du fichier sans sortir en dur.

Le UserForm UF_RegistreDC est le principal tous ouvre de lui et c'est lui que je n'arrive pas à initialisé quand un autre UserForm se ferme, mais le plus étrange est que des fois ça fonctionne...

Le UserForm UF_RegistreDC est le principal tous ouvre de lui et c'est lui que je n'arrive pas à initialisé

Que voulez-vous dire ?

Vous pourriez donner un exemple que je reproduise ?

Oui bien sûr!

Sur la première feuille du classeur on peut cliquer sur le logo se qui va nous ouvrir le UserForm principal (UF_RegistreDC). Dans ce UserForm il y a une ListBox1 contenant des exemples. En double cliquant sur l'une d'elle vous ouvrez alors le 2e UserForm (UF_Directive). En quittant ce UserForm (UF_Directive) j'aimerais que le premier UserForm (UF_DirectiveDC) se réinitialise.

Mon problème est qu'il ne le fait pas toujours et je voudrais qu'il le fasse toujours. J'ai essayer en mettant le code dans le UserForm_Activate, mais ça ne change rien. Également je ne veux pas passer par Unload et .Show afin que le tous reste le plus fluide possible.

Bonjour,

Ce n'est pas l'événement Activate pour réinitialiser, mais Initialize.

Plutôt que de réinitialiser, il serait plus judicieux de créer une "Sous-Sub" dans laquelle tu mets les lignes de codes, que tu appelles quand tu en as besoin :

Private Sub UserForm_Initialize()
    Call Reload_UF(Parm1, Parm2)
End Sub

Private Sub UserForm_Activate()
    Call Reload_UF(Parm1, Parm2)
End Sub

Private Sub Reload_UF(P1, P2)
    ' Mon code de réinitialisation
End Sub

Parm1 et Parm2 étant des arguments que tu peux passer d'une procédure à l'autre pour les variables privées. Si tu ne veux pas passer d'arguments d'une procédure à l'autre, il faut définir les variables au niveau du module actif, ou d'un autre en mettant Public à la place de Dim

Benead

Bonjour Benead,

Merci beaucoup, je n'y pensais plus et c'était si simple pourtant! Merci encore!

Rechercher des sujets similaires à "reinitialiser userform"