Fermeture d'une fenetre non modale depuis une fenêtre modale
2 réponses
SAISAS
Bonjour,
j'ai défini la fonction suivante :
Public Sub ViderMDI()
On Error Resume Next
Do While Screen.ActiveForm.Name <> "MDI"
Unload Screen.ActiveForm
DoEvents
Loop
End Sub
tout fonctionne correctement sauf quand j'ai des fenêtres modales
d'ouvertes. Voici en gros le diagnostic.
Lorsque j'ouvre ma fenêtre modale depuis une autre fenêtre, j'effectue du
code du style :
code avant ...
Form.show vbModal
code après ...
Lorsque ma fonction s'exécute, elle ferme la fenêtre modale, puis ferme la
fenêtre appelante, puis lorsqu'elle est terminée le "code après ..." récupère
la main, et soit plante s'il utilise des objets fermés lors de la fermeture
de la fenêtre appelante, ou réaffiche la fenêtre appelante dans un état
indéterminé.
Quelqu'un saurait-il comment résoudre le problème ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Isa
Bonjour,
J'ai eu un problème du genre. Lorsque je fermais toutes les fenêtres ouvertes, il me réaffichait une fenêtre non initialisée. Le problème venait du fait que je changeais le pointeur de la souris en sablier et le remettait normal à la fin de chaque fonction un peu longue.
Lorsque je demandais à fermer la fenêtre, cela provoquait le retour à la fonction Form_Load de l'écran après la fermeture.
J'ai donc supprimer mon changement de pointeur.
Isabelle
"SAISAS" a écrit :
Bonjour,
j'ai défini la fonction suivante :
Public Sub ViderMDI()
On Error Resume Next Do While Screen.ActiveForm.Name <> "MDI" Unload Screen.ActiveForm DoEvents Loop
End Sub
tout fonctionne correctement sauf quand j'ai des fenêtres modales d'ouvertes. Voici en gros le diagnostic.
Lorsque j'ouvre ma fenêtre modale depuis une autre fenêtre, j'effectue du code du style :
code avant ... Form.show vbModal code après ...
Lorsque ma fonction s'exécute, elle ferme la fenêtre modale, puis ferme la fenêtre appelante, puis lorsqu'elle est terminée le "code après ..." récupère la main, et soit plante s'il utilise des objets fermés lors de la fermeture de la fenêtre appelante, ou réaffiche la fenêtre appelante dans un état indéterminé.
Quelqu'un saurait-il comment résoudre le problème ?
Merci.
Bonjour,
J'ai eu un problème du genre.
Lorsque je fermais toutes les fenêtres ouvertes, il me réaffichait une
fenêtre non initialisée.
Le problème venait du fait que je changeais le pointeur de la souris en
sablier et le remettait normal à la fin de chaque fonction un peu longue.
Lorsque je demandais à fermer la fenêtre, cela provoquait le retour à la
fonction Form_Load de l'écran après la fermeture.
J'ai donc supprimer mon changement de pointeur.
Isabelle
"SAISAS" a écrit :
Bonjour,
j'ai défini la fonction suivante :
Public Sub ViderMDI()
On Error Resume Next
Do While Screen.ActiveForm.Name <> "MDI"
Unload Screen.ActiveForm
DoEvents
Loop
End Sub
tout fonctionne correctement sauf quand j'ai des fenêtres modales
d'ouvertes. Voici en gros le diagnostic.
Lorsque j'ouvre ma fenêtre modale depuis une autre fenêtre, j'effectue du
code du style :
code avant ...
Form.show vbModal
code après ...
Lorsque ma fonction s'exécute, elle ferme la fenêtre modale, puis ferme la
fenêtre appelante, puis lorsqu'elle est terminée le "code après ..." récupère
la main, et soit plante s'il utilise des objets fermés lors de la fermeture
de la fenêtre appelante, ou réaffiche la fenêtre appelante dans un état
indéterminé.
Quelqu'un saurait-il comment résoudre le problème ?
J'ai eu un problème du genre. Lorsque je fermais toutes les fenêtres ouvertes, il me réaffichait une fenêtre non initialisée. Le problème venait du fait que je changeais le pointeur de la souris en sablier et le remettait normal à la fin de chaque fonction un peu longue.
Lorsque je demandais à fermer la fenêtre, cela provoquait le retour à la fonction Form_Load de l'écran après la fermeture.
J'ai donc supprimer mon changement de pointeur.
Isabelle
"SAISAS" a écrit :
Bonjour,
j'ai défini la fonction suivante :
Public Sub ViderMDI()
On Error Resume Next Do While Screen.ActiveForm.Name <> "MDI" Unload Screen.ActiveForm DoEvents Loop
End Sub
tout fonctionne correctement sauf quand j'ai des fenêtres modales d'ouvertes. Voici en gros le diagnostic.
Lorsque j'ouvre ma fenêtre modale depuis une autre fenêtre, j'effectue du code du style :
code avant ... Form.show vbModal code après ...
Lorsque ma fonction s'exécute, elle ferme la fenêtre modale, puis ferme la fenêtre appelante, puis lorsqu'elle est terminée le "code après ..." récupère la main, et soit plante s'il utilise des objets fermés lors de la fermeture de la fenêtre appelante, ou réaffiche la fenêtre appelante dans un état indéterminé.
Quelqu'un saurait-il comment résoudre le problème ?
Merci.
SAISAS
En vous remerciant de votre réponse ...
c'est bien effectivement cela qui se produit, mais je ne peux malheureusement pas supprimer les fonctions qui se déroulent àla fermeture, sous peine de perdre mes mises à jour!
J'ai donc été obligé de "me débrouiller".
"Isa" a écrit :
Bonjour,
J'ai eu un problème du genre. Lorsque je fermais toutes les fenêtres ouvertes, il me réaffichait une fenêtre non initialisée. Le problème venait du fait que je changeais le pointeur de la souris en sablier et le remettait normal à la fin de chaque fonction un peu longue.
Lorsque je demandais à fermer la fenêtre, cela provoquait le retour à la fonction Form_Load de l'écran après la fermeture.
J'ai donc supprimer mon changement de pointeur.
Isabelle
"SAISAS" a écrit :
> Bonjour, > > j'ai défini la fonction suivante : > > Public Sub ViderMDI() > > On Error Resume Next > Do While Screen.ActiveForm.Name <> "MDI" > Unload Screen.ActiveForm > DoEvents > Loop > > End Sub > > tout fonctionne correctement sauf quand j'ai des fenêtres modales > d'ouvertes. Voici en gros le diagnostic. > > Lorsque j'ouvre ma fenêtre modale depuis une autre fenêtre, j'effectue du > code du style : > > code avant ... > Form.show vbModal > code après ... > > Lorsque ma fonction s'exécute, elle ferme la fenêtre modale, puis ferme la > fenêtre appelante, puis lorsqu'elle est terminée le "code après ..." récupère > la main, et soit plante s'il utilise des objets fermés lors de la fermeture > de la fenêtre appelante, ou réaffiche la fenêtre appelante dans un état > indéterminé. > > Quelqu'un saurait-il comment résoudre le problème ? > > Merci.
En vous remerciant de votre réponse ...
c'est bien effectivement cela qui se produit, mais je ne peux
malheureusement pas supprimer les fonctions qui se déroulent àla fermeture,
sous peine de perdre mes mises à jour!
J'ai donc été obligé de "me débrouiller".
"Isa" a écrit :
Bonjour,
J'ai eu un problème du genre.
Lorsque je fermais toutes les fenêtres ouvertes, il me réaffichait une
fenêtre non initialisée.
Le problème venait du fait que je changeais le pointeur de la souris en
sablier et le remettait normal à la fin de chaque fonction un peu longue.
Lorsque je demandais à fermer la fenêtre, cela provoquait le retour à la
fonction Form_Load de l'écran après la fermeture.
J'ai donc supprimer mon changement de pointeur.
Isabelle
"SAISAS" a écrit :
> Bonjour,
>
> j'ai défini la fonction suivante :
>
> Public Sub ViderMDI()
>
> On Error Resume Next
> Do While Screen.ActiveForm.Name <> "MDI"
> Unload Screen.ActiveForm
> DoEvents
> Loop
>
> End Sub
>
> tout fonctionne correctement sauf quand j'ai des fenêtres modales
> d'ouvertes. Voici en gros le diagnostic.
>
> Lorsque j'ouvre ma fenêtre modale depuis une autre fenêtre, j'effectue du
> code du style :
>
> code avant ...
> Form.show vbModal
> code après ...
>
> Lorsque ma fonction s'exécute, elle ferme la fenêtre modale, puis ferme la
> fenêtre appelante, puis lorsqu'elle est terminée le "code après ..." récupère
> la main, et soit plante s'il utilise des objets fermés lors de la fermeture
> de la fenêtre appelante, ou réaffiche la fenêtre appelante dans un état
> indéterminé.
>
> Quelqu'un saurait-il comment résoudre le problème ?
>
> Merci.
c'est bien effectivement cela qui se produit, mais je ne peux malheureusement pas supprimer les fonctions qui se déroulent àla fermeture, sous peine de perdre mes mises à jour!
J'ai donc été obligé de "me débrouiller".
"Isa" a écrit :
Bonjour,
J'ai eu un problème du genre. Lorsque je fermais toutes les fenêtres ouvertes, il me réaffichait une fenêtre non initialisée. Le problème venait du fait que je changeais le pointeur de la souris en sablier et le remettait normal à la fin de chaque fonction un peu longue.
Lorsque je demandais à fermer la fenêtre, cela provoquait le retour à la fonction Form_Load de l'écran après la fermeture.
J'ai donc supprimer mon changement de pointeur.
Isabelle
"SAISAS" a écrit :
> Bonjour, > > j'ai défini la fonction suivante : > > Public Sub ViderMDI() > > On Error Resume Next > Do While Screen.ActiveForm.Name <> "MDI" > Unload Screen.ActiveForm > DoEvents > Loop > > End Sub > > tout fonctionne correctement sauf quand j'ai des fenêtres modales > d'ouvertes. Voici en gros le diagnostic. > > Lorsque j'ouvre ma fenêtre modale depuis une autre fenêtre, j'effectue du > code du style : > > code avant ... > Form.show vbModal > code après ... > > Lorsque ma fonction s'exécute, elle ferme la fenêtre modale, puis ferme la > fenêtre appelante, puis lorsqu'elle est terminée le "code après ..." récupère > la main, et soit plante s'il utilise des objets fermés lors de la fermeture > de la fenêtre appelante, ou réaffiche la fenêtre appelante dans un état > indéterminé. > > Quelqu'un saurait-il comment résoudre le problème ? > > Merci.