Récupérer la taille d'un tableau

Récupérer la taille d'un tableau - VB/VBA/VBS - Programmation

Marsh Posté le 22-12-2005 à 10:19:26    

Bonjour le monde,
 
Je cherche, dans une fonction, à récupérer la taille d'un tableau.
Pour l'instant, j'utilise une méthode assez moche, basée sur la récupération d'une exception quand on dépasse la taille du tableau :
 


Private Function recupereVariables(ByRef variables() As Paire, _
                                  echange As String) As Boolean
    Dim i As Integer
 
    i = 0
    On Error GoTo Err
    While Err.Number = 0
        variables(i).valeur = pressePapier.getVar(echange, variables(i).index)
        setErrStr
        If errStr <> "" Then
            recupereVariables = False
            Exit Function
        End If
        i = i + 1
    Wend
Err:
    If Err.Number <> 0 And Err.Number <> 9 Then
        Err.Raise Err.Number, Err.Source, Err.Description, Err.HelpFile, Err.HelpContext
    End If
    recupereVariables = True
End Function


 
Je ne peux pas utiliser de For Each, car il ne veut pas marcher sur un tableau de type défini par l'utilisateur (ici, un type Paire contenant un champ index et un champ valeur)
 
Si quelqu'un voit une solution plus élégante, je suis preneur ;)
 
merci d'avance pour tout conseil,
 
.:madprog:.

Reply

Marsh Posté le 22-12-2005 à 10:19:26   

Reply

Marsh Posté le 22-12-2005 à 22:22:50    

Essaye UBound(Tableau()) qui determine l'indice le plus élevé du tableau.
La fonction LBound détermine  la limite inférieure.

Reply

Marsh Posté le 22-12-2005 à 22:28:23    

Pour un tableau à deux dimensions :
Dim Tableau(1 To 100, 0 To 3)
résultats :
UBound(Tableau, 1) = 100
UBound(Tableau, 2) = 3

Reply

Marsh Posté le 23-12-2005 à 10:16:25    

c'est exactement ce que je cherchais, merci :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed