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

Messages postés
130
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
8 décembre 2015
- - Dernière réponse : ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
- 7 juil. 2011 à 17:21
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
Afficher la suite 

3 réponses

Meilleure réponse
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 187 internautes nous ont dit merci ce mois-ci

Commenter la réponse de ucfoutu
Messages postés
130
Date d'inscription
jeudi 16 avril 2009
Statut
Membre
Dernière intervention
8 décembre 2015
0
Merci
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
Commenter la réponse de cs_nitho
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
212
0
Merci
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
Commenter la réponse de ucfoutu