[vb6] Inscrire le contenu d'un fichier dans une listbox

Résolu
da_chocapic Messages postés 43 Date d'inscription samedi 8 octobre 2005 Statut Membre Dernière intervention 27 juin 2006 - 14 juin 2006 à 15:57
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 - 15 juin 2006 à 18:37
Bon,je pense qu'un petit zip est mieux qu'une explication complex , alors voila le lien pr choper mon bout de programme.
http://www.sendspace.com/file/tpv5k6

Ce que j'essaye de faire, cest que l'orsqu'on clique sur le ok de la feuille MAJ.
les nom entrés se mettent dans la listbox de la feuille calcul.

Je dois avouer que je vois absolument pas comment my prendre,jai bricolé un truc pr lenregistrement de fichier mais je suis pas du tout sur de moi.

Voila, si vous pouviez maider :)

Merci d'avance.

8 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
14 juin 2006 à 16:21
Re,

Correction sur cette ligne Input #1, MyString, MyNumber    

Doit devenir: Input #1, MyNom, MyPrenom

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
3
domsig Messages postés 125 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 11 mai 2010
14 juin 2006 à 16:00
0
domsig Messages postés 125 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 11 mai 2010
14 juin 2006 à 16:05
salut
je ne peux télécharger ton code mais voilà un exemple : (qui me servait à mettre dans un list box le contenu d'un fichier htm)

Private Sub lire_fichier()
Dim ligne as String
Dim lu as string
Dim fnum as integer
fnum = FreeFile
List1.Clear
Open fichier For Input As #fnum
ligne = ""
Do
lu = Input(1, #fnum)
If lu <> ">" Then 'tant qu on n a pas ce caractère, on concatène ligne avec lu
ligne = ligne + lu
Else
ligne = ligne + lu + Chr$(13)
List1.AddItem ligne
ligne = ""
End If
Loop Until EOF(fnum)
Close (fnum)
End Sub

bon courage
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
14 juin 2006 à 16:21
Salut,

Ajoute ceci dans la form Calcul

Private Sub Form_Load() 
Dim MyNom As String, MyPrenom As String 
Open "C:\fichierpersonnes.txt" For Input As #1    ' Ouvre le fichier en lecture. Attention a remplacer par le chemùin du tien
Do While Not EOF(1)    ' Effectue la boucle jusqu'à la fin du fichier.
   Input #1, MyString, MyNumber    ' Lit les données dans deux variables.
   ' Affiche les données dans la fenêtre Exécution.
   Call List1.AddItem(MyNom & ", " & MyPrenom) 
Loop 
Close #1    ' Ferme le fichier.

End Sub 
 

<small> Coloration syntaxique automatique [AFCK]</small>
       

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
da_chocapic Messages postés 43 Date d'inscription samedi 8 octobre 2005 Statut Membre Dernière intervention 27 juin 2006
15 juin 2006 à 10:45
Salut,

Jai testé ton code, ca marche parfaitement.
Merci encore une fois a toi, c'est pas la premiere fois que tu m'aides :)
Par contre je suis pas sur de tout comprendre,surtout a partir de la :

   Input #1, Mynom, Myprenom    ' Lit les données dans deux variables.
   ' Affiche les données dans la fenêtre Exécution.
   Call List1.AddItem(MyNom & ", " & MyPrenom) 
Loop 
Close #1    ' Ferme le fichier.

Le fait de mettre mynom et myprenom,cest pas anodin non ?C'est parcque mes textbox s'appellent nom et prenom?

J'en deduis que je dois rajouter "my" a chaque fois devant ? ou bien est ce seulement parcque cest le nom des variables ?

Dans ce cas, comment vb fait il le lien entre mes textbox et les variables?


Le " call " , ca marche comment exactement ?

loop cest pour  refaire la boucle,cest ca ?
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
15 juin 2006 à 10:54
Salut,

Non les MYnom MyPrenom sont juste des nom de variables.
C'est juste que j'aime donné des nom de variables ou l'ont sait a peu près ce qu il y a dedans, voila tout.
(En plus c'est juste une adaptation de l'exemple MSDN)

Le call n'est pas obligatoire tu peux très bien mettre simplement List1.Additem MyNom & "," & MyPrenom

L'instruction Loop va de paire ici avec le Do While EOF(1)

Traduction

Fait Tant Que la fin du fichier n'est pas atteinte.

'Code

Boucle (recommence la boucle)

NOte:

On Aurait pu coder la boucle de cette maniere aussi.

While Not EOF(1)
'Code...
Wend

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
0
da_chocapic Messages postés 43 Date d'inscription samedi 8 octobre 2005 Statut Membre Dernière intervention 27 juin 2006
15 juin 2006 à 11:00
Salut,

Merci pour tes explications,j'y vois un peu plus clair.j'avoue que j'avais zappé la msnd sur ce coup.

Et merci aussi a domsig d'avoir essayé au fait ;).
0
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
15 juin 2006 à 18:37
 Bonjour,

Une autre méthode en Fso (à la place du msgbox, mettre la copie dans la listbox):

Dim Fso, File, Result
Set Fso = CreateObject("Scripting.FileSystemObject")
Set File = Fso.OpenTextFile("d:\410.txt")
    Result = File.ReadAll
    File.Close
    MsgBox    Result
Set Fso = Nothing
Set File = Nothing

jean-marc
0
Rejoignez-nous