Oui,
Pour être exact, nous devons supposer que notre ami homogène a posé :
Option Base 1 dans son module.
Sinon sa question et son exemple n'ont aucun sens. Ma réponse s'est borné à "singer" sa fonction et donne le même résultat (aberrant si Option Base est omis.)
En effet Ubound ne renvoie que l'indice supérieure du tableau : pas le nombre d'éléments.
En réalité le nombre d'éléments (ou de ligne) quelque soit Option Base est donné par la formule :
Nb d'élément = UBase(Tablo) + 1 - Lbase(Tablo)
ainsi que le met en évidence la macro suivante :
Code :
- Sub Tableaux()
- Dim Tablo() As String
- laChaine = "10 mn:5:24#20 mn:25:45#30 mn:46:100"
- Tablo = Split(laChaine, "#" )
- MsgBox "Ubound = " & UBound(Tablo)
- MsgBox "Nb d'éléments = " & UBound(Tablo) + 1 - LBound(Tablo)
- For i = LBound(Tablo) To UBound(Tablo)
- MsgBox Tablo(i)
- Next
- End Sub
|
A+
Message édité par galopin01 le 25-10-2005 à 22:39:14
---------------
roger