Vérifier un tableau : VBA

Résolu/Fermé
kanadianDri3 Messages postés 85 Date d'inscription mardi 18 novembre 2008 Statut Membre Dernière intervention 12 juillet 2010 - 19 mai 2009 à 17:36
thev Messages postés 1854 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 3 mai 2024 - 20 mai 2009 à 22:18
Bonjour,

Voilà je dois parcourir un tableau en VBA. Le but est de m'arreter au dernier indice qui soit pas null, empty ou je ne sais quoi. Le problème ce que je ne sais pas ce que contienne les indices de mon tableau quand je n'enregistre aucune valeur. (c'est un tableau d'entier)

Exemple : Dim tab(19) As Integer. Ca va de 0 à 19. Je peux utiliser tous les indices comme je peux m'arreter à n'importe lequel d'entre eux.

Le mieu c'est d'utiliser :
If ( tab(i) = 0 ) Then .....
ou
If ( IsEmpty ( tab (i) ) ) Then ....
ou autre chose encore mais là....??? inconnu ???

Merci pour votre aide
A voir également:

4 réponses

thev Messages postés 1854 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 3 mai 2024 683
19 mai 2009 à 18:34
Je pense qu'il faut prendre le problème dans l'autre sens, c'est à dire au chargement du tableau via la gestion d'un tableau dynamique :

Dim tab() As Integer puis ajout pas à pas du nombre d'indices nécessaires avec ReDim tab(i)
1
thev Messages postés 1854 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 3 mai 2024 683
20 mai 2009 à 22:18
1- il ne faut pas oublier qu'avec l'option Preserve seule la dernière dimension est modifiable

2- ne pas utiliser le nom de variable tab car c'est un mot réservé.
1
kanadianDri3 Messages postés 85 Date d'inscription mardi 18 novembre 2008 Statut Membre Dernière intervention 12 juillet 2010 10
20 mai 2009 à 14:14
Merci pour ta réponse :) J'vais essayer dans ce sens là alors !!!
0
kanadianDri3 Messages postés 85 Date d'inscription mardi 18 novembre 2008 Statut Membre Dernière intervention 12 juillet 2010 10
20 mai 2009 à 15:33
Juste une derniere question (en espérant que tu reviendras voir)
Je vais illustrer par un exemple. Je ne sais pas si c'est possible :
Dim tab() As Integer
ReDim tab(1)
tab(1)=1
ReDim Preserve tab(2)
tab(2)=2
ReDim Preserve tab(2,2)
tab(1,2)=3
tab(2,2)=4

Pour les dernieres lignes c'est OK ? Est-ce autorisé ?

Merci :D
0