Bonjour à tous

Attention !!! la question n'est pas simple...surtout pour moi
J'espere que la réponse ne sera pas pire

Pour savoir si un tableau est initialisé, j'utilise la super API SafeArrayGetDim qui me dépanne drolement

Seulement voila, dernierement j'ai eu besoin de créer un tableau de tableau dynamique
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Type Tablo
 TableauDonnees() As Variant
End Type
 
Public TabloTableauDonnees(5) As Tablo
Je récupere des données via EXCEL grace à cette fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Application.WorksheetFunction.Transpose(rng)
qui rempli directement le tableau soit en une dimension soit en deux dimensions
Donc je ne connais pas à l'avance la structure du tableau

J'arrive bien à savoir si le tableau est initialisé grace à
Code : Sélectionner tout - Visualiser dans une fenêtre à part
If SafeArrayGetDim(TabloTableauDonnees(t).TableauDonnees) Then
mais j'aimerais savoir si il est en une ou deux dimensions et la...pas moyen d'y arriver
Car si je fais appel à UBOUND avec l'index 2
Code : Sélectionner tout - Visualiser dans une fenêtre à part
UBound(TabloTableauDonnees(t).TableauDonnees, 2)
et bien evidemment si le tableau n'a qu'une dimension cela créé une erreur

J'ai lu sur internet qu'il existait cette API SafeArrayGetElement() mais je ne sais pas l'utiliser ni si elle correspond à mes besoins

Quelqu'un pourrait m'eclairer un peu dans cette demande
Merci et bonne journée