J'ai un code sert à effacer les trous dans les numéros auto c à dire il crée un numéro juste après le dernier, mais je cherche l'emplacement exacte du code j'ai essayé de plusieurs façons.

code:
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
Function NextID(LeChamp As String, LaTable As String) As Long 
 '-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
 'Fonction renvoyant le prochain Identifiant, en fonction des valeurs existantes dans une table. 
 'Arguments : 
 '    LeChamp => Nom du champ Identifiant numérique Long concerné 
 '    LaTable => Nom de la table contenant cet identifiant 
 'Retour    : 
 '    1 s'il n'y a rien dans la table 
 '    Le Nombre maximum +1 s'il y a une suite ininterrompue de nombres 
 '    La valeur du nombre manquant en cas de trou. 
 '-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
    Dim sSQL    As String 
    Dim rs      As DAO.Recordset 
    Dim n       As Long 
 
    'Chaîne SQL en fonction de LeChamp et de LaTable, retournant NULL ou le numéro du trou 
    sSQL = "Select Min([" & LECHAMP & "]-1) As NextID From " & LATABLE & " As T1 "
    sSQL = sSQL & "Where ((([" & LECHAMP & "]-1)>0) And (((Select [" & LECHAMP & "] "
    sSQL = sSQL & "From " & LATABLE & " T2 "
    sSQL = sSQL & "Where T2.[" & LECHAMP & "]=T1.[" & LECHAMP & "]-1)) Is Null));" 
    Set rs = CurrentDb.OpenRecordset(sSQL, dbOpenSnapshot) 
    'Nbre d'enregistrements dans laTable 
    n = DCount("[" & LeChamp & "]", "[" & LaTable & "]") 
    If n = 0 Then               'S'il n'y a pas d'enregistrements, mettre 1 
        NextID = 1 
    ElseIf IsNull(rs(0)) Then   'Si la requête ne renvoie rien, incrémenter de 1 le maximum 
        NextID = DMax("[" & LeChamp & "]", "[" & LaTable & "]") + 1 
    Else 
        NextID = rs(0)          'Sinon, il y a un trou. Renvoyer la valeur du trou 
    End If