Stocker dans une liste les données d'une colonne d'une feuille Excel en VBA
Bonjour,
Voilà j'ai toujours le même problème, à savoir : stocker dans une liste des éléments qui se trouvent dans une feuille Excel. En fait il s'agit de prendre les données d'une colonne entière. Seulement, je ne sais pas où se trouvera la dernière donnée vu que la feuille peut varier et la colonne aussi. Ma fonction GetList doit être réutilisable. J'essaie donc de récupérer les élments dans une variable tableau mais ça ne fonctionne pas.. J'ai des erreurs d'exécution.
Désolé si mon code n'a plus trop de sens, j'ai essayé tellement de choses.. :(
Pourriez-vous m'aider s'il vous plaît ?
Code:
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
|
Public Function GetList(table As Object, colonne As Integer)
'Cette fonction permet de stocker dans une liste les données d'une colonne
'excel dans une table donnée (feuille excel)
Dim i As Integer, j As Integer, k As Integer, d As String
'i = premiere ligne, j = dernière ligne, k = position ds le tableau
Dim liste()
'tableau qui contient l'ensemble des valeurs d'une colonne
With table
k = 64 + colonne
d = Chr(k)
j = Range(d & 1).End(xlDown).Row
'compter le nombre de cellule dans la colonne
For i = 2 To j
' ajout de la valeur de la cellule i dans l'élément k du tableau
liste(i) = table.Range(d & i).Value
'erreur d'exécution 13 : incompatibilité de type
'erreur d'exécution 9 l'indice n'appartient pas à la sélection
i = i + 1
Next i
End With
End Function |
Généralement je n'arrive pas non plus à récupérer la valeur choisie par l'utilisateur dans la liste de choix... (la combobox serait dans un userform). Avez-vous des conseils? merci d'avance ;)