Nombre de cases dans un tableau ????????

Résolu
true_picpic Messages postés 34 Date d'inscription mercredi 26 novembre 2003 Statut Membre Dernière intervention 24 août 2004 - 13 juil. 2004 à 17:01
Scalpweb Messages postés 1467 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 5 mai 2010 - 13 juil. 2004 à 22:35
j'ai

Dim tableau() As String
Dim Paramètre As String

Paramètre = Command

je split paramétre sur un tiret pour obtenir les donnés passées en paramétre

tableau() = Split(Paramètre, "-")
donc mon tableau n'a que deux cases, je dois gérer l'erreur si y'a plus de deux tiret dans Paramètre donc je veux compter le nombre de cases de tableau et si plus de 2 alors je génére une erreur

comment compter le nombre de cases d'un tableau??

Merci d'avance!!

5 réponses

cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
13 juil. 2004 à 17:20
Bonjour
NombreDeCases = UBound(Tableau) + 1 (ça commence à 0)
3
Scalpweb Messages postés 1467 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 5 mai 2010 4
13 juil. 2004 à 17:35
Donc après, ça donne :
taille = Ubount(tableau) - LBound(tableau)

voilà
3
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
13 juil. 2004 à 17:50
Bonjour Scalpweb

Avec Dim tableau() As String,
si on n'indique pas Option Base 1, ça commence à 0.

taille = UBound(tableau) - LBound(tableau) + 1

Exemple : Dim t(5 To 7) => t(5) , t(6) , t(7)
soit 7 - 5 + 1 = 3 "cases"
3
Scalpweb Messages postés 1467 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 5 mai 2010 4
13 juil. 2004 à 17:34
Ca ne commence pas toujours à zéro. Pour connaitre la base d'un tableau : LBound()
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Scalpweb Messages postés 1467 Date d'inscription samedi 13 mars 2004 Statut Membre Dernière intervention 5 mai 2010 4
13 juil. 2004 à 22:35
C'est vrai pour le plus 1, désolé j'étais distrait. Mais sinon, tu peux faire :

Dim tableau() as string

et après faire :

tableau(5 to 7)

comme tu l'as dit, donc ça peut ne pas commencer à zéro... C'est ce que je voulais dire. Mettre un LBound() permet d'éviter quelques erreurs idiotes il me semble.

;)
0
Rejoignez-nous