Hello, voilà un exemple tout bête de fonction renvoyant un tableau. Ici c'est un tableau d'entiers.
Public Function test() As Variant
Dim tableau() As Integer
Dim i As Integer
For i = 1 To 10
ReDim Preserve tableau(1 To i)
tableau(i) = i * 5
Next i
test = tableau
End Function
-----------
Pour un cas plus complexe où tu souhaites que ta fonction renvoie un élément d'un type personnalisé, la solution que je connais est la suivante:
- Créer ton type personnalisé
- Créer une variable globale "Dim tableauType() as typePersonnalise"
- Dans ta fonction (qui n'a plus besoin d'être une fonction), modifier la variable globale
Dim tableau() As typeP
Public Sub test()
Dim i As Integer
For i = 1 To 10
ReDim Preserve tableau(1 To i)
tableau(i).texte = "coucou"
Next i
End Sub
Avec mon type personnalisé
Public Type typeP
texte As String
End Type