Bonjour,

J'ai fait un formulaire dans lequel se trouve une liste déroulante (modifiable10) basé sur une requête.

J'ai créé un premier bouton qui créé un fichier .csv selon l'item choisit dans la liste.

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
'Bouton Créer annuaires d'un cours Q1
Private Sub Commande12_Click()
On Error GoTo Err_creation_csv_Click
 
    Dim ReqGrille As String
    Dim CodeGrille As String
 
    ReqGrille = "E-ENS : Annuaire selon Code GrilledQ1 pour formulaire"
    DoCmd.OpenQuery ReqGrille, acNormal, acEdit
 
    CodeGrille = Forms![E-ENS : Annuaire selon code du cours].Modifiable10
    DoCmd.TransferText acExportDelim, "annuaire_obseo", "E-ENS : Annuaire pour Exportation", "C:\iCampus\E-ENS Annuaires\Annuaire_" & CodeGrille & ".csv", True, , UTF8
 
Exit_creation_csv_Click:
    Exit Sub
 
Err_creation_csv_Click:
    MsgBox Err.Description
    Resume Exit_creation_csv_Click
 
End Sub
Ca marche parfaitement bien.
Maintenant, je voudrais qu'en cliquant sur un autre bouton, il créé les fichiers .csv pour tous les items de la liste les uns après les autres.

J'ai donc créé le code suivant :
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
'Bouton Créer annuaires de tous les cours Q1
Private Sub Commande21_Click()
On Error GoTo Err_creation_csv_Click
 
    Dim ReqGrille As String
    Dim CodeGrille As String
    Dim i As Long
 
    For i = 0 To Forms![E-ENS : Annuaire selon code du cours].Modifiable10.ListCount - 1
        Forms![E-ENS : Annuaire selon code du cours].Modifiable10.ItemData(i) = True
 
        ReqGrille = "E-ENS : Annuaire selon Code GrilledQ1 pour formulaire"
        DoCmd.OpenQuery ReqGrille, acNormal, acEdit
 
        CodeGrille = Forms![E-ENS : Annuaire selon code du cours].Modifiable10
        DoCmd.TransferText acExportDelim, "annuaire_obseo", "E-ENS : Annuaire pour Exportation", "C:\iCampus\E-ENS Annuaires\Annuaire_" & CodeGrille & ".csv", True, , UTF8
 
    Next i
 
Exit_creation_csv_Click:
    Exit Sub
 
Err_creation_csv_Click:
    MsgBox Err.Description
    Resume Exit_creation_csv_Click
 
End Sub
Et là j'obtiens l'erreur : 'la procédure property let n'est pas définie et la procédure Property Get n'a pas renvoyé d'objet'

Si je commente tous le code sauf la partie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Forms![E-ENS : Annuaire selon code du cours].Modifiable10.ItemData(5) = True
J'obtiens un 'la procédure property let n'est pas définie et la procédure Property Get n'a pas renvoyé d'objet'

Si je ne garde que la bouche For sans rien :
j'obtiens aucune erreur

Visiblement il n'appréci pas le 'itemdata'... pourtant selon mes recherches c'est ainsi que je dois sélectionner un item dans la liste, pour tous les faire un après l'autre...

Une idée pour me sortir de cette impasse ?

En vous remerciant