Variable non definie [Résolu]

Signaler
Messages postés
58
Date d'inscription
jeudi 30 décembre 2004
Statut
Membre
Dernière intervention
21 septembre 2007
-
Messages postés
58
Date d'inscription
jeudi 30 décembre 2004
Statut
Membre
Dernière intervention
21 septembre 2007
-
http://cyrille2.free.fr//fr/wall/?p=88
voila pour ne pas recopier


Hrusdik
I do what I want , where I want , when I want<

9 réponses

Messages postés
745
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
15 septembre 2009
4
alors avec un dim Fichier as String, ça devrait mieux marcher.
3
Merci

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

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

Messages postés
745
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
15 septembre 2009
4
c'est exactement le même problème, lorsque tu utilises une variable, il faut d'abord la déclarer avant de pouvoir l'utiliser.... c'est la base du développement .

Si tu as juste recopié le code sans le comprendre, je pense que tu n'as pas fini d'avoir des erreurs........

Bon courage

@+
3
Merci

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

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

Messages postés
745
Date d'inscription
mardi 30 novembre 2004
Statut
Membre
Dernière intervention
15 septembre 2009
4
désolé, un petit bug

je voulais juste dire : je suppose que tu as déclaré ta variable "Fichier" quelquepart.

@+
Messages postés
58
Date d'inscription
jeudi 30 décembre 2004
Statut
Membre
Dernière intervention
21 septembre 2007

Euh no paske jai recopié le code


Hrusdik
I do what I want , where I want , when I want<
Messages postés
58
Date d'inscription
jeudi 30 décembre 2004
Statut
Membre
Dernière intervention
21 septembre 2007

je vien desayer
ca marche mai il y a un ot prob
il di ke fs nes pa defini

Private Sub Form_Load()
ajouter.Enabled = False
envoyer.Enabled = False
supprimer.Enabled = False
fichier = App.Path & "\contacts.txt"
Set fs = CreateObject("Scripting.FileSystemObject")
If fs.FileExists(fichier) = False Then
Exit Sub
End If
Open fichier For Input As #1
Do While Not EOF(1)
Line Input #1, ligne1
contact.AddItem ligne1, x
Line Input #1, ligne2
contact.List(x, 1) = ligne2
x = x + 1
Loop
Close #1
End Sub

Hrusdik
I do what I want , where I want , when I want<
Messages postés
58
Date d'inscription
jeudi 30 décembre 2004
Statut
Membre
Dernière intervention
21 septembre 2007

OK chui debutant alor jai pa tro pensé a ca mai merci


Hrusdik
I do what I want , where I want , when I want<
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
68
Salut
Comme tu n'as pas eu le courage de recopier ton code, le voici :
Ca commence fort : Si en plus tu nous disais à quelle ligne survient l'erreur (qui semble pourtant très claire), ça aiderait ...

Private Sub Form_Load()
ajouter.Enabled = False
envoyer.Enabled = False
supprimer.Enabled = False
Fichier = App.Path & "contacts.txt"
Set fs = CreateObject("Scripting.FileSystemObject")
If fs.FileExists(Fichier) = False Then
Exit Sub
End If
Open Fichier For Input As #1
Do While Not EOF(1)
Line Input #1, ligne1
contact.AddItem ligne1, x
Line Input #1, ligne2
contact.List(x, 1) = ligne2
x = x + 1
Loop
Close #1
End Sub

-1- Tu fais une boucle Do-While pour dire "Si je lis la dernière ligne du fichier, je n'aurais pas d'erreur. Or, dans ta boucle, tu fais 2 "Line Input" --> Si ton fichier a un nombre de lignes impaires, tu auras une erreur.
-2- Quand tu tapes "contact.AddItem " , l'IDE (l'éditeur VB) te propose les variables à utiliser :
Tu lis donc item As String, [Index]
Comme expliqué dans l'aide de VB6, les infos entre crochets droits [ et ] sont facultatifs.
Dans ton cas, tu incrémentes ton X mais je ne penses pas que tu en aies réellement besoin.
-3- Ensuite, et c'est là qu'est l'erreur, sur la ligne "contact.List(x, 1)" avec le même procédé, VB te présente les paramètres Integer
Dans ton cas, tu lui donnes 'x' et '1' : Comme cela ne correspond pas à la bonne syntaxe, l'éditeur se dit qu'il s'agit d'un tableau à deux dimension qu'il ne connait pas --> Variable non définie

En fait, une ListBox ne supporte qu'un seul Item par ligne.
Cet item, du texte dans ton cas, peut-être indexé, mais ce n'est pas une obligation.
Le problème, c'est que si tu indexes, il faut aboslument que cet index soit unique, sinon, il y aura erreur

Alors, qu'y a t-il dans ton fichier ?
Il semble que les données aillent par couple et que tu veuilles les afficher suir la même ligne du ListBox
C'est plutôt un ListView que tu devrais utiliser.

Ne vient pas demander comment utiliser une ListView, tout est expliqué dans l'aide de VB6 ou bien il suffit d'ouvrir une seule source qui utilise une ListView pour comprendre comment ça marche (c'est un peu plus complexe que la ListBox)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
68
(oula l'orthographe, beurk !)

Dim fs As Object
+ n'oublies pas d'ajouter un \ dans
Fichier = App.Path & "\contacts.txt

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
Messages postés
58
Date d'inscription
jeudi 30 décembre 2004
Statut
Membre
Dernière intervention
21 septembre 2007

c bon si c pour te moquer de moi ca va la !!!!!!


Hrusdik
I do what I want , where I want , when I want<