L'indice n'appartient pas a la selection [Résolu]

Messages postés
16
Date d'inscription
mardi 25 janvier 2005
Statut
Membre
Dernière intervention
22 mai 2006
- - Dernière réponse : NHenry
Messages postés
14595
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
19 novembre 2019
- 9 mai 2006 à 16:31
J'ai créée une fonction public dont voici le debut du code :

Public Function tri(choix As Integer, order As String)

Dim cnt, count, i, j As Integer
Dim temp, temp2 As String
count = 0

While workbooks("formulaire ajout mail.xls").Sheets("stockage").Range("A" & count + 1).Value <> ""
count = count + 1
Wend
ReDim t(count - 1, 1)

For cnt = 0 To count Step 1
stock = Split(workbooks("formulaire ajout mail.xls").Sheets("stockage").Range("A" & cnt + 1).Value, ",", , vbTextCompare)
t(cnt, 0) = stock(choix)
t(cnt, 1) = cnt + 1
Next cnt

Il m'indique a la ligne surligné, "érreur l'indice n'apartient pas a la selection". Pourtant le tableau est dimensionné et déclaré, et j'ai verifié avec une msgbox, stock(choix) existe et contient bien la valeur souhaitée.

Je lance la fontion comme cela :
tri 1 , "up"
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
489
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
22 novembre 2007
3
Merci
Il te met cette erreur au 1er passage de ta boucle ou au dernier?
parce que ca viendrait soit de ton cnt=0 soit, de ton count step 1

Dire « Merci » 3

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

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

Messages postés
16
Date d'inscription
mardi 25 janvier 2005
Statut
Membre
Dernière intervention
22 mai 2006
0
Merci
c'etait au dernier passage, le probleme venais du count.
je l'ai remplacer par count - 1 et sa marche.

Merci
Messages postés
489
Date d'inscription
mardi 16 novembre 2004
Statut
Membre
Dernière intervention
22 novembre 2007
0
Merci
De rien, bonne continuation
++
Messages postés
14595
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
19 novembre 2019
137
0
Merci
Bonjour

Essaye de remplacer
For cnt = 0 To count Step 1
Par
For cnt = 0 To count-1 ' Step 1 pas besoin, pris par défaut

Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
Messages postés
14595
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
19 novembre 2019
137
0
Merci
Bonjour

dsl, j'avais pas rafraichi la page .

Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)