Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

UserForm ne s'affiche pas !

2 réponses
Avatar
LANIMAL
Bonjour,

J'ai un UserForm : Name = ProcessEnCours
Titre (Caption) = "Processus en cours d'exécution"
TextBox : Texte (Value) = "Patienter"

Je l'ouvre par l'instruction : Load ProcessEnCours
puis : ProcessEnCours.Show vbModeless

Je le ferme en fin de procédure par : Unload ProcessEnCours

Problème :
En exécution pas à pas tout se passe bien
(TextBox affiché sur fond gris pâle, en dessous de la barre de titre)

En exécution normale Le cadre UserForm s'affiche,
avec son titre : "Processus en cours d'exécution"
Mais la fenêtre en dessous du titre est blanche
et le TextBox n'apparaît pas.

Why ?
et merci.
Michel

2 réponses

Avatar
michdenis
Bonjour,

Suggestion No.1
Est-ce possible que tu aies utilisé ceci dans la procédure ?

application.ScreenUpdating úlse

Si oui, il faut remettre à True
application.ScreenUpdating =true


Suggestion No.2
ProcessEnCours.Show vbModeless
ProcessEnCours.Repaint

Load ProcessEnCours est utilisé si le formulaire à charger
requiert un certain temps. On peut alors le charger en
mémoire dès l'ouverture du fichier en utilisant la procédure
événementielle Workbook_Open dans le ThisWorkbook.
Lorsque requis on emploie ProcessEnCours.Show vbModeless
pour l'afficher.




"LANIMAL" a écrit dans le message de groupe de discussion :

Bonjour,

J'ai un UserForm : Name = ProcessEnCours
Titre (Caption) = "Processus en cours d'exécution"
TextBox : Texte (Value) = "Patienter"

Je l'ouvre par l'instruction : Load ProcessEnCours
puis : ProcessEnCours.Show vbModeless

Je le ferme en fin de procédure par : Unload ProcessEnCours

Problème :
En exécution pas à pas tout se passe bien
(TextBox affiché sur fond gris pâle, en dessous de la barre de titre)

En exécution normale Le cadre UserForm s'affiche,
avec son titre : "Processus en cours d'exécution"
Mais la fenêtre en dessous du titre est blanche
et le TextBox n'apparaît pas.

Why ?
et merci.
Michel
Avatar
LANIMAL
Alors donc ... merci.

1 - Oui, j'avais un Application.ScreenUpdating úlse
qui intervenait après l'ouverture du UserForm.
Je l'avais néanmoins supprimé... mais sans succès.

2a - avec ProcessEnCours.Repaint, c'est OK

2b - Le fichier de travail est lui-même ouvert par un module "PERSO"
(bouton dans la barre d'outil).
J'ai donc mis les lignes suivantes dans ThisWorkbook de "PERSO.XLS"

Private Sub Workbook_Open()
Load ProcessEnCours
End Sub

Bien sûr, le UserForm est lui aussi dans "PERSO.XLS"
Mais le problème subsiste.

Enfin, le pb est résolu avec "Repaint"
Grand merci, et bonne soirée.
Michel


michdenis a écrit :
Bonjour,

Suggestion No.1
Est-ce possible que tu aies utilisé ceci dans la procédure ?

application.ScreenUpdating úlse

Si oui, il faut remettre à True
application.ScreenUpdating =true


Suggestion No.2
ProcessEnCours.Show vbModeless
ProcessEnCours.Repaint

Load ProcessEnCours est utilisé si le formulaire à charger
requiert un certain temps. On peut alors le charger en
mémoire dès l'ouverture du fichier en utilisant la procédure
événementielle Workbook_Open dans le ThisWorkbook.
Lorsque requis on emploie ProcessEnCours.Show vbModeless
pour l'afficher.




"LANIMAL" a écrit dans le message de groupe de discussion :

Bonjour,

J'ai un UserForm : Name = ProcessEnCours
Titre (Caption) = "Processus en cours d'exécution"
TextBox : Texte (Value) = "Patienter"

Je l'ouvre par l'instruction : Load ProcessEnCours
puis : ProcessEnCours.Show vbModeless

Je le ferme en fin de procédure par : Unload ProcessEnCours

Problème :
En exécution pas à pas tout se passe bien
(TextBox affiché sur fond gris pâle, en dessous de la barre de titre)

En exécution normale Le cadre UserForm s'affiche,
avec son titre : "Processus en cours d'exécution"
Mais la fenêtre en dessous du titre est blanche
et le TextBox n'apparaît pas.

Why ?
et merci.
Michel