Salut,

Je porte sur moi tout le poids de ma honte , mais voilà : j'ai bien fais mes devoirs et suis allé sur le FAQ pour trouver solution à mon problème et miracle, voilà un chapitre qui répond à ma question...

COMMENT SAVOIR SI UN FORMULAIRE EST OUVERT.

Sauf que
primo, je ne sais pas ou placer correctement le nom de mon formulaire dans les codes ci-dessous...
Secondo, je ne sais pas ou récupérer l'information issue d'un module.

Promis, dans une prochaine vie je fais des études d'informatique et j'arrête de faire C... avec des questions à la C...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
Function IsLoaded(ByVal strFormName As String) As Integer 
 ' Retourne True si le formulaire spécifié est ouvert.
 
    Const conObjStateClosed = 0
    Const conDesignView = 0
 
    If SysCmd(acSysCmdGetObjectState, acForm, strFormName) <> conObjStateClosed Then
        If Forms(strFormName).CurrentView <> conDesignView Then
            IsLoaded = True
        End If
    End If
End Function
Autre solution :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Public Function is_form_opened(fname As String) As Boolean 
 
On Error GoTo not_opened
Dim LeFichier As String
 
LeFichier = Forms(fname).Name
is_form_opened = True
Exit Function
 
not_opened: If (Err.Number = 2450) Then
     is_form_opened = False
     err.clear
End If
 
End Function