Ne plus voir un UserForm

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

P

PF

Guest
Bonjour à tous, ma squestion risque de vous paraître facile voir stupide mais malheureusement c'est ainsi.

J'ai crée un Userform (appelons le 1), dedans l'utilisateur doit remplir différents champs, et si il ne le fait pas et qu'il appuit sur Ok, j'avais un beug, erreur 13.
Pour éviter le beug, j'ai crée un Userform (appelons le 2), indiquant à l'utilisateur qu'il doit remplir tous les champs. (2, ne doit pas se superposer en entier à 1) Et j'aimerai lorsque l'utilisateur à lu le message qu'il appuit sur Ok pour revenir à 1 et que 2 disparaisse.

J'ai bien essayé :
Userform2.hide

Mais il reste à l'écran.
Donc j'ai essayé Unload Me (pour le supprimer de la mémoire, mais même constat).

Que me conseillé vous ?

Merci d'avance
 
P-F, le forum

Pour obliger la saisie dans certains contrôls tu as ce code :

If (Le nom du control) = "" Then
MsgBox "Donnée incomplete!", vbCritical, "ATTENTION"
(Le nom du control).SetFocus
Exit Sub
End If

Cela t'évitera de passer par un UserForm

Salut, G'Claire
 
Bonsoir Jacques

j'avais bien essayé unload Userform2, mais cela ne fonctionne pas, mon Userform passe en arrière plan mais reste visible, or moi je ne veux pas qu'il reste visible...
ca doit pouvoir se faire mais comment ???

Bonne soirée
 
Re,

Ne pourrais-tu pas mettre un exemple en Zip.

Et je reste presque dans la certitude qu'une MsgBox serai le mieux, le plus simpe et le moins lourd, mais peu être que d'aitre trouverons mieux sinon.


Salut G'Claire
 
Bonsoir à tous.

Bizarre ton histoire, PF.
Que ce soit avec unlod ou avec Hide, ton userform2 devrait bien disparaître de l'écran!
Il vaut sans doute mieux utiliser Unload si tu n'en as pas besoin (pour libérer de la mémoire)
Je me demande si tu n'as pas justement un problème de mémoire , où d'affichage.

Essaye de réafficher le userform1 après avoir supprimé le 2 en utilisant Repaint:
UserForm1.Repaint
Il s'agit seulement d'une réactualisation de l'affichage.

Mais je ne suis pas sûr du tout que cela marche.

Bonne soirée.
Laurent
 
Bonsoir Patrick.

Je ne veux rien dire de précis, je fais juste des suppositions.
Concrétement, ce qui t'arrive ne me semble pas normal.
Si tu utilises Hide où Unload, l'userForm2 doit bien disparaître de l'écran.

A moins, en y pensant maintenant:
- sur quelle version d'excel es-tu?
- où as-tu mis le code Unload UserForm2?

Peut-être y a-t-il une histoire d'userform modal là-dessous?

Mais je ne fais que des hypothèses...

Bon courage.
Laurent.
 
Salut Laurent, n'ayant pas résolu mon problème, je me permet de t'envoyer le fichier joint (1 partie), celle qui traite de mon problème.

Pour indication, lorsque je ne donne pas de postion à mes Userform (Top et Left), ca marche.
Par contre si je décale l'un des 2, ca foire

A +
Patrick
 
Salut SylSyl,

Bien que laurent et Claire se soit penché sur mon problème, ca persiste.
Je me permet donc de t'envoyer le fichier(1 partie), celle qui traite de mon problème.


Pour indication, lorsque je ne donne pas de postion à mes Userform (Top et Left), ca marche.
Par contre si je décale l'un des 2, ca foire
 
Bonsoir Patrick.

Je viens de regarder vite fait.
Si dans la procédure qui appelle le premier userform, tu remplaces:
Userform1.show par UserForm1.show 0
alors le bug a disparu.

Le 0 permet d'afficher l'userform1 en mode modal. Ceci n'est possible qu'à partir d'Excel98 où 2000, je ne sais plus.

Le problème vient bien de cette propriété modal.

Bonne soirée.
Laurent.
 
- 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

Réponses
12
Affichages
1 K
  • Résolu(e)
Microsoft 365 Macro VBA
Réponses
16
Affichages
3 K
Retour