Remplir une zone de liste Excel avec une requête Access (problème)
Bonjour,
J'étais déjà venu sur ce forum pour le même problème et je ne retrouve plus mon ancien post.
Mon problème est énoncé dans l'intitulé du sujet. Sur le site, j'ai vu que ceci devait me permettre de le résoudre :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Sub FillCombo()
Dim db As DAO.Database
Dim rec As DAO.Recordset
curshname = ActiveSheet.Name
Set db = DAO.OpenDatabase(ThisWorkbook.Path & "\Membres1.mdb", False, False)
Set rec = db.OpenRecordset("SELECT NomFamille FROM Membres WHERE DepartOuRegionTravail = 'WA'", DAO.dbOpenSnapshot)
For Each sh In ActiveWorkbook.Sheets(curshname).Shapes
If sh.Type = msoFormControl And sh.Name Like "Drop*" Then
sh.Select
Do While Not (rec.EOF)
Selection.AddItem rec.Fields(0).Value
rec.MoveNext
Loop
Exit For
End If
Next sh
rec.Close
db.Close
Set rec = Nothing
Set db = Nothing
End Sub |
Cependant, j'éprouve quelques difficultées : pour la ligne "curshname = ActiveSheet.Name", VB me dit que la variable "curshname" n'est pas définie. Je décide alors de supprimer cette ligne et de remplacer "curshname" par un nom de feuille pour la suite du programme et j'ai un autre problème : la variable "sh" n'est pas définie. Quelqu'un pourrait-il m'aider si possible en m'expliquant brièvement en quoi consiste les grandes lignes de ce programme afin que je puisse le modifier à ma guise ?
Merci et bonne journée !