Subscript out of range ??? SVP vous pouvez me dire pourquoi? [Résolu]

Signaler
Messages postés
57
Date d'inscription
dimanche 2 mai 2004
Statut
Membre
Dernière intervention
6 septembre 2006
-
Messages postés
57
Date d'inscription
dimanche 2 mai 2004
Statut
Membre
Dernière intervention
6 septembre 2006
-
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
++
A voir également:

4 réponses

Messages postés
550
Date d'inscription
vendredi 5 janvier 2001
Statut
Membre
Dernière intervention
23 septembre 2006

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
Merci

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

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

Messages postés
3757
Date d'inscription
mardi 23 septembre 2003
Statut
Modérateur
Dernière intervention
13 mars 2006
14
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
Merci

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

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

Messages postés
57
Date d'inscription
dimanche 2 mai 2004
Statut
Membre
Dernière intervention
6 septembre 2006

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
Merci

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

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

Messages postés
57
Date d'inscription
dimanche 2 mai 2004
Statut
Membre
Dernière intervention
6 septembre 2006

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?!
++