Subscript out of range ??? SVP vous pouvez me dire pourquoi?

Résolu
f bnkcm Messages postés 57 Date d'inscription dimanche 2 mai 2004 Statut Membre Dernière intervention 6 septembre 2006 - 30 avril 2005 à 23:32
f bnkcm Messages postés 57 Date d'inscription dimanche 2 mai 2004 Statut Membre Dernière intervention 6 septembre 2006 - 1 mai 2005 à 11:21
Salut tous,
J'aimerai que vous me dites pourquoi on me renvoit l'erreur suivante:
"Run time '9' Subscript out of range"

Le code que j'execute est le suivant:
ch = "ma chaine de caractères séparée par des virgules où y a au début un nombre donné"
nbr = "un nombre donné"
Dim var() As String
var = Split(ch, ",")
If time - var(0) <= 6 Then
etc...

Quand je pointe sur "var(0)" ça me donne ceci:
"var(0)=<Subscript out of range>"

Merci
++

4 réponses

cs_Stephane Messages postés 550 Date d'inscription vendredi 5 janvier 2001 Statut Membre Dernière intervention 23 septembre 2006
1 mai 2005 à 00:22
SAlut



je pense que puisqu'il n'y a pas de ' , ' dans ta chaine, var est
null, enfin n'a pas de dimension, et donc tu est hors intervalle avec
le 0



pour verifier, si la chaine contient une virgule, tu peux utiliser

if instr(1,chaine,",") then 'il y a une virgule


A+



<hr size="2" width="100%">Utilisateurs du forum : Merci de lire http://www.vbfrance.com/forum.v2.aspx?ID=445871

<hr size="2" width="100%">
3
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
1 mai 2005 à 10:58
Salut,

Si tu déclares var() dans ta proc, le timer ne la connait pas. Ou alors, tu lances le timer avant le split ? Ou ta chaine ne contient rien ou que des virgules ?

Autre chose, ta chaine, si j'ai bien compris, ne contient que des nombres séparés par des virgules sinon time - var(0) donnerait une erreur d'exécution 13. Mais méfie-toi des conversions implicites.

Loup Gris
3
f bnkcm Messages postés 57 Date d'inscription dimanche 2 mai 2004 Statut Membre Dernière intervention 6 septembre 2006
1 mai 2005 à 11:21
Salut et merci pour votre aide, je croix trouver pourquoi ça donne cette erreur, vous m'avez donné l'idée; je croix que c'est pas parce que je lance le timer avant le split mais parfois quand le timer est lancé y a un retard pour charger la chaine "ch" donc rien à "spliter" et alors une valeur null pour var(0) c'est le cas aussi pour la variable time!
Merci encore pour votre aide, je vais maintenant voir comment avoir ces variable avant le timer c'est peut être la solution.
++
3
f bnkcm Messages postés 57 Date d'inscription dimanche 2 mai 2004 Statut Membre Dernière intervention 6 septembre 2006
1 mai 2005 à 00:35
Merci pour votre réponse, en fait la chaine contient des virgules, au début le code s'exécute parfaitement mais à un certain moment, j'utilise un timer, ça donne l'erreur que j'ai cité. Je me demande pourquoi?!
++
0
Rejoignez-nous