Bonjour,
je dois vérifier à chaque saisi de dossier, dans une base de données fermée, si le dossier existe et si oui, s'il n'est pas traité par un autre.
pour ce faire, j'ai écrit ce code qui fonctionne mais qui est très lent entre 20 et 35 secondes.
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Private Sub TbxNir_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
'RECHERCHE DU NIR
Application.ScreenUpdating = False
    RcNir = TbxNir  'Sert à VerifNir()
If TbxNir <> "Sans espace" Then
    'Vérif de la longueur du Nir
    If Len(TbxNir) < 18 Then
        MsgBox "Nir erroné : " & vbCrLf & vbCrLf & _
            "Nb de caractères insuffisant." & vbCrLf & "Merci", _
            vbCritical, "SARA - Recherche de NIR existant"
        TbxNir.SetFocus
        Exit Sub
    End If
    Call VérifNir
        If vNir = True Then 's'il existe
            LbNom.Visible = True
            TbxNom.Visible = True
            LbGeRa.Visible = True
            TbxGera.Visible = True
            TbxNom = sNom
            TbxGera = sGera
        Else
            MsgBox "Nir non trouvé." & vbCrLf & vbCrLf & "Merci" _
             , vbInformation, "SARA - Recherche de NIR existant"
        End If
Else
    If TbxNir = "" Then
        MsgBox "Veuillez saisir un Nir, merci", _
            vbInformation, "SARA - Recherche de NIR existant"
        TbxNir.SetFocus
        Exit Sub
    End If
End If
Application.DisplayAlerts = False
End Sub
Est-ce que quelqu'un peut me donner un "truc" pour accélérer la réponse.