Variable non definie [Résolu]

AZEazeazgfafaazea 58 Messages postés jeudi 30 décembre 2004Date d'inscription 21 septembre 2007 Dernière intervention - 6 juin 2005 à 17:25 - Dernière réponse : AZEazeazgfafaazea 58 Messages postés jeudi 30 décembre 2004Date d'inscription 21 septembre 2007 Dernière intervention
- 6 juin 2005 à 17:58
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<
Afficher la suite 

9 réponses

cs_drahcir 745 Messages postés mardi 30 novembre 2004Date d'inscription 15 septembre 2009 Dernière intervention - 6 juin 2005 à 17:39
+3
Utile
alors avec un dim Fichier as String, ça devrait mieux marcher.
Cette réponse vous a-t-elle aidé ?  
cs_drahcir 745 Messages postés mardi 30 novembre 2004Date d'inscription 15 septembre 2009 Dernière intervention - 6 juin 2005 à 17:47
+3
Utile
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

@+
Cette réponse vous a-t-elle aidé ?  
cs_drahcir 745 Messages postés mardi 30 novembre 2004Date d'inscription 15 septembre 2009 Dernière intervention - 6 juin 2005 à 17:36
0
Utile
désolé, un petit bug

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

@+
AZEazeazgfafaazea 58 Messages postés jeudi 30 décembre 2004Date d'inscription 21 septembre 2007 Dernière intervention - 6 juin 2005 à 17:37
0
Utile
Euh no paske jai recopié le code


Hrusdik
I do what I want , where I want , when I want<
AZEazeazgfafaazea 58 Messages postés jeudi 30 décembre 2004Date d'inscription 21 septembre 2007 Dernière intervention - 6 juin 2005 à 17:43
0
Utile
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<
AZEazeazgfafaazea 58 Messages postés jeudi 30 décembre 2004Date d'inscription 21 septembre 2007 Dernière intervention - 6 juin 2005 à 17:48
0
Utile
OK chui debutant alor jai pa tro pensé a ca mai merci


Hrusdik
I do what I want , where I want , when I want<
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 6 juin 2005 à 17:49
0
Utile
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)
cs_Jack 14010 Messages postés samedi 29 décembre 2001Date d'inscription 28 août 2015 Dernière intervention - 6 juin 2005 à 17:54
0
Utile
(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)
AZEazeazgfafaazea 58 Messages postés jeudi 30 décembre 2004Date d'inscription 21 septembre 2007 Dernière intervention - 6 juin 2005 à 17:58
0
Utile
c bon si c pour te moquer de moi ca va la !!!!!!


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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.