La création de mon arboréscence tombe en marche

Signaler
Messages postés
2
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
25 juin 2009
-
Messages postés
2
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
25 juin 2009
-
Bonjour,

Voilà mon problème, je suis en train coder en grand débutant que je suis un petit programme sensé pioché dans un fichier texte des taches avec différentes informations sur ces taches. 
Une fois ces informations récoltés dans des variables tableaux, le programme doit créé des objets pour y faire apparaitre les dites informations.

l'idée était qu'ils y avait plusieurs niveaux de tâches ( Une tâche composée de sous tâches elles mêmes composées de sous-sous tâches). Ce qui m'amène à la création d'une simple arboréscence pour une plus grande visibilité et une meilleure navigation entre les tâches.

 le hic, il vient au moment de la créations de la Xième sous-sous tâche.
voici le message d'erreur : "L'argument spécifié n'était pas dans les limites de la plage des valeurs valides. Nom du paramètre : index" que je trouve très explicite pour mon niveau ...
Voici la fonction qui créé l'aboréscence:
"


Proc‚dure qui g‚re La cr‚ation. Celle-ci doit afficher les informations selon le fichier texte.









Sub

Proc‚dure_Creation()



Dim

i


As





Integer








'Varialbles contenant les clef de l'arborescance sous treeview.








Dim

g_GrandPapa_int


As





Integer








Dim

g_Papa_int


As





Integer








Dim

g_PetitPapap_int


As





Single








'On efface les noeuds de l'ancien fichier.


TreeView1.Nodes.Clear()








'Cr‚ation de l'arbre des tƒches.








For

i = 0


To

j - 1



If

Tab_NiveauTache_int(i) = 1


Then


TreeView1.Nodes.Add(





"I"

& g_GrandPapa_int, Tab_TachesNoms_str(i))g_GrandPapa_int = g_GrandPapa_int + 1



Else








If

Tab_NiveauTache_int(i) = 2


Then


TreeView1.Nodes(g_GrandPapa_int - 1).Nodes.Add(





"II"

& g_Papa_int, Tab_TachesNoms_str(i))g_Papa_int = g_Papa_int + 1



Else








If

Tab_NiveauTache_int(i) = 3


Then


   TreeView1.Nodes(g_GrandPapa_int - 1).Nodes(g_Papa_int - 1).Nodes.Add(


"III"



& g_PetitPapap_int, Tab_TachesNoms_str(i))

L'erreur me pointe sur cette ligne.




g_PetitPapap_int = g_PetitPapap_int + 1




End





If










End





If








End





If








Next








End





Sub

 Bien que je me doute que l'erreur ne se trouve pas dans ces maigres et très simples lignes de codes mais sait on jamais peut être ais-je oublié d'écrire un truct...

Si quelqu'un à une idée où à déjà rencontré cette erreur merci de donner un coups de pouce.

cordialement. 
A voir également:

2 réponses

Messages postés
2814
Date d'inscription
mardi 15 avril 2003
Statut
Membre
Dernière intervention
2 juin 2020
36
Bonjour,

"L'argument spécifié n'était pas dans les limites de la plage des valeurs valides. Nom du paramètre : index" cette erreur indique que tu demande à un tableau de ressortir l'élément dont l'index est en dehors de la collection, si tu as une collection de 10 éléments, tu ne peux lui demander l'élément 11, car il n'existe pas, vérifi ton code tu as fais une erreur quelque part.

TreeView1.Nodes(g_GrandPapa_int - 1) 'Cette node n'existe apparement pas...

Ici on ne peut pas bien voir car on n'as pas toutes les données de ton codes.

Mayzz.

                                                                              
Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer. <
Messages postés
2
Date d'inscription
mardi 9 juin 2009
Statut
Membre
Dernière intervention
25 juin 2009

Euh, le problème c'est qu'il y a un problème.

ça plante justement pas au premier passage.
Il me créé bien mes tâches principales et même mes sous tâches, il m'en fait autant que je veux...
Par contre, dés que je commence à faire des sous-sous tâches, ça passe bien un certain nombre de fois ( suivant mes les informations que j'y met, il coince au 2ème, 11ème et au 19ème passage). c'est une histoire de fou .

Et mes tableaux sont deux fois plus gros que le nombre d'informations que je peux y mettre.

Je regarde si je peux vous mettre le code en entier, veuillez excuser le barbarisme de mon code par avance.