Bonjour,

Je galère depuis plusieurs jours sur une requête VBA.
Après avoir essayé d'utiliser une fonction je reviens à quelque chose de plus simple.
J'ai une table Liste_accentue avec une champ ID avec clé primaire et un champ Valeur contant 4 lignes avec les lettres A,B,E,L
Requête actuelle
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
Private Sub Commande40_Click()
    Dim requete As String
  '  Dim MyChar As Variant
    
On Error GoTo Err_Bouton40_Click
    DoCmd.SetWarnings False 'suppression code d'erreur
     If Forms![Visu_implantation]![ChoixNom] = "*" Then
    MsgBox "Renseigner le Nom ", 16
      Exit Sub
      Else
      
      MyTableInto = "RepartitiongeographiqueNoms" ' table insert into
      MyTableDE = "RepartitiongeographNom" ' nom de la table where

 '  Sélectionne Choixlettre
    Dim I As Variant
    Dim MyLettre As Variant
    
    nb = DCount("*", "Liste_accentue")
 MsgBox nb ' Test affiche le nombre de ligne de la table

 For I = 1 To nb 'Table Liste_accentue nombre de d'enregistrments
    MyLettre = DLookup("[Valeur]", "Liste_accentue", "[ID] = 1 ")
    MyChar = (I) 
 MsgBox MyChar ' Test Affiche 4 le nombre de ligne de la table
 MsgBox MyLettre ' Test devrai afficher les lettres A , B , E et L dans la boucle
 
    MyConvert = "ConvertAccForLike" & MyLettre & "(ChoixNom)"
     requete = "INSERT INTO " & MyTableInto & " "
     requete = requete & " SELECT * FROM  " & MyTableDE & " "
     requete = requete & " WHERE " & MyTableDE & ".Noms LIKE " & MyConvert & " "
   DoCmd.RunSQL requete ' Exécute la requéte
    Next I
   End If
Mon problème et le suivant:
Dans
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 MyLettre = DLookup("[Valeur]", "Liste_accentue", "[ID] = 1 ")
cela fonctionne bien mon test Msgbox MyLettre afiche bien la ligne 1 de la table et la lettre A
quand la boucle continue la valeur de MyLettre reste toujours à A
donc je voudrais que la lettre suive le déroulement de la boucle.
J'ai fait beaucoup du genre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
MyLettre = DLookup("[Valeur]", "Liste_accentue", "[ID] = MyChar ")
mais cela ne fonctionne pas. Je voudrais remplacer le 1 par MyChar qui prend les valeurs de 1 à 4.
Quelqu'un a t'il une réponse pour ce problème qui me ronge.
Merci d'avance.
ACN