Indice n'appartient pas à la sélection [Résolu]

Signaler
Messages postés
130
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
8 décembre 2015
-
ucfoutu
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Bonjour,

bon j'ai un problème,
quand je copie un range dans un tableau du genre

dim v() as string
v = range("A1:A6").value


Si la cellule A1 est vide, quand j’essaierais d'utiliser v(1) j'aurais une erreur 9 l'indice n'appartient pas à la sélection...
Or j'aime beaucoup copier les ranges dans des tableaux parce que dans la mémoire vive les opérations sont très rapides.
donc il me faudrait: soit détecter les mauvaises cases de mon tableau, ce que je ne sais pas faire, j'ai essayé de faire un isempty(v(1)) mais j'obtiens la même erreurs.
Soit il me faut pouvoir éviter les cellules vides dans mon range de départ. j'ai pensé à xltypeblanks mais je ne sais pas si on peut faire une soustraction d'ensemble en vba. Pour faire un truc du genre,

rangeinitial - rangeinitial.specialcells(xlcelltypeblanks)....




nitho l'amateur

3 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
Bonjoutr

Dim v '===>> forcément Variant (non typé, donc)
v = Range("A1:A6").Value

'et ton tableau v est à 2 dimensions ===>>

Dim v
v = Range("A1:A6").Value

For i = 1 To UBound(v, 1)
  MsgBox v(i, 1)
Next



____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
Messages postés
130
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
8 décembre 2015

Merci,

en fait je me suis fait prendre par le fait que je copie une colonne et je me retrouve avec un tableau à 2 DIMENSIONS....

Au fait les tableaux vba commence par l'indice 0 ou 1 finalement...???


nitho l'amateur
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
Par l'indice 1 ===>> exactement comme pour les colonnes et lignes de ta feuille (dont ils sont une espèce de "reflet")

____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP