Suite à une erreur "Feuille déjà affichée; imposible d'afficher modalement"
Comment savoir si une fenêtre est déjà affichée ?
As-tu essayé avec la propriété (boolean) "Visible" ? If Form1.Visible then 'la feuille est visivle -- Cordialement
Aski MVP Windows Desktop Experience http://dechily.org/ http://dechily.org/Forum_Aski/
Jacques93
Bonjour Henri, Aski a écrit :
Hello Michel,
Suite à une erreur "Feuille déjà affichée; imposible d'afficher modalement"
Comment savoir si une fenêtre est déjà affichée ?
As-tu essayé avec la propriété (boolean) "Visible" ? If Form1.Visible then 'la feuille est visivle
Il y a, je crois me rappeler, un inconvénient avec cette méthode : le fait de faire référence à une propriété (ici visible) d'une feuille non chargée, a pour effet de la charger en mémoire, en fait l'équivalent de : Load Form1
qui n'affichera pas la feuille, mais provoquera, outre son chargement, l'exécution de la procédure Form_Load , ce qui peut avoir des effets indésirables.
Mais en général, ça marche :-)
Une autre méthode consiste à parcourir la collection 'Forms' :
Private Function IsFormLoaded(fName As String) As Boolean Dim f As Form
For Each f In Forms If f.Name = fName Then IsFormLoaded = True Exit Function End If Next f IsFormLoaded = False End Function
avant de tester une de ses propreiéts
--
Cordialement,
Jacques.
Bonjour Henri,
Aski a écrit :
Hello Michel,
Suite à une erreur "Feuille déjà affichée; imposible d'afficher
modalement"
Comment savoir si une fenêtre est déjà affichée ?
As-tu essayé avec la propriété (boolean) "Visible" ?
If Form1.Visible then 'la feuille est visivle
Il y a, je crois me rappeler, un inconvénient avec cette méthode : le
fait de faire référence à une propriété (ici visible) d'une feuille non
chargée, a pour effet de la charger en mémoire, en fait l'équivalent de :
Load Form1
qui n'affichera pas la feuille, mais provoquera, outre son chargement,
l'exécution de la procédure Form_Load , ce qui peut avoir des effets
indésirables.
Mais en général, ça marche :-)
Une autre méthode consiste à parcourir la collection 'Forms' :
Private Function IsFormLoaded(fName As String) As Boolean
Dim f As Form
For Each f In Forms
If f.Name = fName Then
IsFormLoaded = True
Exit Function
End If
Next f
IsFormLoaded = False
End Function
Suite à une erreur "Feuille déjà affichée; imposible d'afficher modalement"
Comment savoir si une fenêtre est déjà affichée ?
As-tu essayé avec la propriété (boolean) "Visible" ? If Form1.Visible then 'la feuille est visivle
Il y a, je crois me rappeler, un inconvénient avec cette méthode : le fait de faire référence à une propriété (ici visible) d'une feuille non chargée, a pour effet de la charger en mémoire, en fait l'équivalent de : Load Form1
qui n'affichera pas la feuille, mais provoquera, outre son chargement, l'exécution de la procédure Form_Load , ce qui peut avoir des effets indésirables.
Mais en général, ça marche :-)
Une autre méthode consiste à parcourir la collection 'Forms' :
Private Function IsFormLoaded(fName As String) As Boolean Dim f As Form
For Each f In Forms If f.Name = fName Then IsFormLoaded = True Exit Function End If Next f IsFormLoaded = False End Function
avant de tester une de ses propreiéts
--
Cordialement,
Jacques.
Aski
Bonjour Jacques,
Comment savoir si une fenêtre est déjà affichée ?
As-tu essayé avec la propriété (boolean) "Visible" ? If Form1.Visible then 'la feuille est visible
Il y a, je crois me rappeler, un inconvénient avec cette méthode : le fait de faire référence à une propriété (ici visible) d'une feuille non chargée, a pour effet de la charger en mémoire, en fait l'équivalent de : Load Form1
qui n'affichera pas la feuille, mais provoquera, outre son chargement, l'exécution de la procédure Form_Load , ce qui peut avoir des effets indésirables.
Mais en général, ça marche :-)
Une autre méthode consiste à parcourir la collection 'Forms' :
Private Function IsFormLoaded(fName As String) As Boolean Dim f As Form
For Each f In Forms If f.Name = fName Then IsFormLoaded = True Exit Function End If Next f IsFormLoaded = False End Function
avant de tester une de ses propreiéts
Effectivement, cette méthode est plus sure, d'autant plus que la boucle concerne un nombre d'éléments réduits. -- Cordialement
Henri
Bonjour Jacques,
Comment savoir si une fenêtre est déjà affichée ?
As-tu essayé avec la propriété (boolean) "Visible" ?
If Form1.Visible then 'la feuille est visible
Il y a, je crois me rappeler, un inconvénient avec cette méthode : le fait
de faire référence à une propriété (ici visible) d'une feuille non
chargée, a pour effet de la charger en mémoire, en fait l'équivalent de :
Load Form1
qui n'affichera pas la feuille, mais provoquera, outre son chargement,
l'exécution de la procédure Form_Load , ce qui peut avoir des effets
indésirables.
Mais en général, ça marche :-)
Une autre méthode consiste à parcourir la collection 'Forms' :
Private Function IsFormLoaded(fName As String) As Boolean
Dim f As Form
For Each f In Forms
If f.Name = fName Then
IsFormLoaded = True
Exit Function
End If
Next f
IsFormLoaded = False
End Function
avant de tester une de ses propreiéts
Effectivement, cette méthode est plus sure, d'autant plus que la boucle
concerne un nombre d'éléments réduits.
--
Cordialement
As-tu essayé avec la propriété (boolean) "Visible" ? If Form1.Visible then 'la feuille est visible
Il y a, je crois me rappeler, un inconvénient avec cette méthode : le fait de faire référence à une propriété (ici visible) d'une feuille non chargée, a pour effet de la charger en mémoire, en fait l'équivalent de : Load Form1
qui n'affichera pas la feuille, mais provoquera, outre son chargement, l'exécution de la procédure Form_Load , ce qui peut avoir des effets indésirables.
Mais en général, ça marche :-)
Une autre méthode consiste à parcourir la collection 'Forms' :
Private Function IsFormLoaded(fName As String) As Boolean Dim f As Form
For Each f In Forms If f.Name = fName Then IsFormLoaded = True Exit Function End If Next f IsFormLoaded = False End Function
avant de tester une de ses propreiéts
Effectivement, cette méthode est plus sure, d'autant plus que la boucle concerne un nombre d'éléments réduits. -- Cordialement
Henri
msnews.microsoft.com
Effectivement, vos idées sont bonnes.... et je vous en remercie.....
Bonne fin de journée.
Michel
"msnews.microsoft.com" a écrit dans le message de news:
Bonjour à tous,
Suite à une erreur "Feuille déjà affichée; imposible d'afficher modalement"
Comment savoir si une fenêtre est déjà affichée ?
Avec mes remerciements. Michel
Effectivement, vos idées sont bonnes.... et je vous en remercie.....
Bonne fin de journée.
Michel
"msnews.microsoft.com" <michel69@logys.eu> a écrit dans le message de news:
uf4a0Vn6JHA.4864@TK2MSFTNGP03.phx.gbl...
Bonjour à tous,
Suite à une erreur "Feuille déjà affichée; imposible d'afficher
modalement"