Seth77
Messages postés572Date d'inscriptionmardi 30 avril 2002StatutMembreDernière intervention 4 mai 2020
-
21 avril 2005 à 13:42
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 2019
-
21 avril 2005 à 14:19
Salut
comment tester si une form est en cours d affichage sans utiliser Frm.Visible ?
Seth77
Messages postés572Date d'inscriptionmardi 30 avril 2002StatutMembreDernière intervention 4 mai 20201 21 avril 2005 à 13:52
en fait je veux tester si une Form est en cours d affichage....mais je
me suis rendu compte qu en utilisant Frm.visible il lance Frm.load, ce
qui est un peux inutile si la form n est pas en cours d affichage.
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 21 avril 2005 à 14:06
Il te reste à parcourir la collections Forms ...
Function FormLoaded(ByVal FrmName As String) As Boolean
Dim F as Form
For Each F in Forms
If F.Name = FrmName Then
FrmLoaded = True
Exit Function
End If
Next
FrmLoaded = False
End Function
... Ceci te retourne True si la form dont tu transmet le nom en argument est chargée en mémoire et False sinon. Si elle est chargé, tu peux alors tester la valeur de la propriété Visible sans risque.
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 201934 21 avril 2005 à 14:19
DoEvents renvoie le nombre de feuilles visibles mais on sait pas lesquelles.
en supposant que tu n'aies que 2 formes, si la valeur est = 1 c'est qu'une feuille n'est pas visible, à toi de savoir laquelle.
If DoEvents = 2 Then
MsgBox = "visible"
Else
MsgBox = "non visible"
End If