Bonjour,

Voilà j'ai un problème de insert into: j'ai une boucle qui va chercher des données dans un fichier Excel et a chaque passage de la boucle j'aimerais qu'elle insère dans ma table les données avec un insert into. Le problème est que la requête ne s'exécute qu'au premier tour de la boucle. Au second tour la requête est correct mais il n'y a pas d'enregistrement crée. Quelqu'un sait-il pouquoi?
Merci d'avance
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
 
    ' Boucle tant que, arret de l'importation quand une case du tableau des enseignement est vide
    While xlWSht.Range("C" & i).Value <> ""
 
        'stockage dans la variable "pensum_total" l'identifiant qui correspond au pensum choisi dans le fichier Excel
        pensum_total = DLookup("[pk_periode]", "tb_periode", "[nombre_periode] = " & xlWSht.Range("C" & i).Value)
 
        'recupération des valeurs du fichier Excel
        nb_periode_engage = xlWSht.Range("D" & i).Value
        nb_periode_effectue = xlWSht.Range("E" & i).Value
        remarque = xlWSht.Range("G" & i).Value
 
        'recupération de la cas à cocher pour le bonus d'âge
        If xlWSht.Range("F" & i).Value = "oui" Then
            bonus_age = -1
        Else
            bonus_age = 0
        End If
 
        'Requête d'insertion des données
        sql = "INSERT INTO tb_enseigner(pk_fk_enseignant_enseigner, pk_fk_institution_enseigner, pk_fk_annee_enseigner, pk_fk_periode_institution_enseigner, "
        sql = sql & "nb_periode_enseigner, periode_effective_enseigner, activer_age_enseigner, remarque_enseigner) VALUES (" & no_personnel & "," & institution & "," & annee_scolaire & "," _
        & pensum_total & "," & nb_periode_engage & "," & nb_periode_effectue & "," & bonus_age & ",'" & remarque & "');"
 
        MsgBox (sql)
        CurrentDb.Execute sql
 
        'Exécution des données
 
 
        'on incrémente la variable i pour passer à la ligne suivante
        i = i + 1
 
    Wend