La fonction Ubound rend la taille d'un tableau mais lorsque celui-ci est vide, la fonction rend une erreur. Je voudrais pourtant utiliser une fonction pour tester la taille de mes tableaux dynamiques, et ce quelque soit leur type de données associé, en particulier pour des tableaux de types différents, définis par l'utilisateur.

Une alternative à Ubound que j'ai trouvée est 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
28
Public type1
...
End type1
...
...
Public typeN
...
End typeN


Dim table1() As type1
...
Dim tableN() As typeN


Public Function Bound(... table As ...) As Integer
    Dim IsArrayEmpty As Boolean
    On Error Resume Next
    Err.Clear
    table = UBound(table)
    IsArrayEmpty = (Err.Number = 9)
    Err.Clear
    If IsArrayEmpty = True Then
        Bound = 0
    Else
        Bound = table
End Function
Mon problème est que je n'arrive pas à bien déclarer le paramètre de la fonction, sachant que je veux que ma fonction fonctionne pour tous mes tableaux table1(),...tableN() quelque soit son type ! Mes différents essais avec Array, ou autre rendent une erreur ! Merci de votre aide !