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 : 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
 
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