Bonjour,

Voici le souci : je créé un macro qui injecte dans un module nommé un code contenu dans une BDD.

Double souci : parfois sans que je puisse l'expliquer le code bloque sur le nom du module "TEST" en indiquant que ce dernier n'est pas trouvé.

Le second problème c'est que malgrès le move next qui permet de passer au code suivant, le code généré par le module exécute toujours la première action.

Afin de m'assurer que le code sélectionné par la requete est correcte j'ai placé une msgbox IMPORT("CODE") et cette dernière me restitu le code juste.

Merci pour votre aide.

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
 
SQL = "SELECT IMPORT_ACTION_LISTE.ACTION, IMPORT_ACTION_LISTE.CODE " _
    & "FROM IMPORT_ACTION_LISTE " _
    & "WHERE IMPORT_ACTION_LISTE.ID_CODE = " & SOURCE_LISTE.Column(4, SOURCE_LISTE.ListIndex + 1) & " AND IMPORT_ACTION_LISTE.ACTION <> 'IMPORT_PLAGE' " _
    & "ORDER BY IMPORT_ACTION_LISTE.ORDRE;"
 
    Dim IMPORT As Recordset
    Set IMPORT = CurrentDb.OpenRecordset(SQL)
 
    Dim script As String, mdl As Module
    Dim nb As Long
 
    For i = 1 To IMPORT.RecordCount
 
        Set mdl = Modules("TEST")
        script = IMPORT("CODE")
 
        mdl.AddFromString script
 
        Call go
 
        nb = Modules("TEST").CountOfLines
 
        Modules("TEST").DeleteLines 1, nb
 
        IMPORT.MoveNext
 
    MsgBox nb
 
    Next