recharger les listbox via fichier texte

t70527t@yahoo.fr

XLDnaute Nouveau
Bonjour à Toutes et à Tous

Merci à tous les XLDnautes pour votre aide et ce forum .

Lors de mon denier post Kjin (encore merci pour ta solution) m’avait fourni
la solution pour sauvegarder la sélection des utilisateurs dans un fichier texte, la sauvegarde de cette sélection se fait sur 3 listbox via un commande bouton « save Carto ».

J’espérai trouver la solution pour faire la manip inverse c’est à dire recharger les 3 listbox à partir du fichier texte via le le commande bouton « load carto » mais là je séche.

Quelqu’un a-t-il une solution à mon problème ?
Ci-joint mon fichier exemple.

Merci pour toute votre aide
Cordialement
 

Pièces jointes

  • SaveCarto2.zip
    24.2 KB · Affichages: 92

Odesta

XLDnaute Impliqué
Re : recharger les listbox via fichier texte

Bonjour

Sympa ce programme

Sans rentrer dans la solution complète mais je pense que :

Code:
        Do While Not EOF(1)                                      ' Effectue la boucle jusqu'à la fin du fichier.
            Line Input [COLOR="Red"][U]#1,[/U][/COLOR] TextLine                              ' Lit la ligne dans la variable.
            ' Mtext = Right(TextLine, 8, Len(TextLine) - 1)
        Loop
Mettre #1 permet de lire le fichier n°1 ! ^^
Bonne continuation

Olivier
 

Mytå

XLDnaute Occasionnel
Re : recharger les listbox via fichier texte

Salut le forum

Ton code avec quelques correctifs
Code:
Private Sub CommandButton13_Click()
Dim TextLine As String
Dim MyFile As String
Dim IdFile As Integer

MyFile = Application.GetOpenFilename("Text Files (*.txt), *.txt")
  If MyFile = False Then
    MsgBox "Vous n'avez pas sélectionné de fichier"
    Exit Sub
  End If

    IdFile = FreeFile
    Open MyFile For Input As #IdFile
        Do While Not EOF(IdFile)
            Line Input #IdFile, TextLine
            ' Mtext = Right(TextLine, 8, Len(TextLine) - 1)
        Loop
    Close #IdFile
End Sub
Mytå
 
Dernière édition:

t70527t@yahoo.fr

XLDnaute Nouveau
Re : recharger les listbox via fichier texte

Bonjour Mytå et Odesta.

Merci pour votre aide.

Effectivement avec vos codes je peux remplir ma listbox1.

Par contre je ne comprend pas comment on peut faire pour lire la deuxième ligne dans la variable TextLine pour écrire dans la listbox2 et ainsi de suite.

Si vous pouviez me mettre sur la voie.

et encore merci pour votre aide.

Amicalement
 

Odesta

XLDnaute Impliqué
Re : recharger les listbox via fichier texte

Il faut mettre la valeur récupéré dans un tableau par exemple.

(en amont:dim Mon_Tableau(...) & i = 1)
sous Line Input #1, TextLine :
Mon_Tableau(i) = TextLine
i=i+1

Ainsi, vous n'aure plus qu'à récupérer les valeurs de Mon_Tableau(...)

Cdt
Olivier
 

t70527t@yahoo.fr

XLDnaute Nouveau
Re : recharger les listbox via fichier texte

Bonjour ODESTA

Merci pour le code, effectivement avec un tableau on récupère bien la variable, je lai testé et cela fonctionne très bien

Private Sub CommandButton13_Click()
Dim TextLine As String
Dim MyFile As String
Dim Mon_Tableau(1 To 3) As String
Dim j As Integer
Dim Lbx As ListBox

i = 1
MyFile = Application.GetOpenFilename()
Open MyFile For Input As #1

Do While Not EOF(1)
Line Input #1, TextLine
Mon_Tableau(i) = TextLine
i = i + 1
Loop
MsgBox Mon_Tableau(1)
MsgBox Mon_Tableau(2)
MsgBox Mon_Tableau(3)
Close #1
End Sub

Je pensai naïvement faire ensuite un ListBox1.AddItem Mon_Tableau(1)
Mais cela ne marche pas
Dans mon fichier txt j’ai
9125-F2A
9133-55A
7044-270
Et j’obtiens voir image attachée

Et actuellement je bloque, as-tu une idée de mon problème ?
Merci pour ton aide
Cordialement
 

Pièces jointes

  • Test SaveCarto.GIF
    Test SaveCarto.GIF
    20.7 KB · Affichages: 146

Odesta

XLDnaute Impliqué
Re : recharger les listbox via fichier texte

re.
Ce n'est pas AddIttem qu'il faut utiliser, mais Selected = True

Essaye ceci :
Me.Controls("ListBox1").Selected(0) = True
Me.Controls("ListBox1").Selected(3) = True

il reste plus qu'a récupérer le numéro de la ligne (ici 0 ou 3) en faisant une recherche, et à mettre le numéros de la listbox en variable

Olivier
 

t70527t@yahoo.fr

XLDnaute Nouveau
Re : recharger les listbox via fichier texte

Bonsoir Odesta

Comme je débute en VBA, j'avais compris mais peut-être je fais erreur, que le code
Me.Controls("ListBox1").Selected(0) = True va cocher la première ligne de la ListBox1.
je n'ai donc plus dans mon cas de relation avec les lignes de la variable Mon_Tableau.
...Selected(0) = True n'est pas la ligne 0 de Mon_Tableau.

Est-ce-que j'ai tout faux?

Merci pour ton aide
Cordialement
 

Odesta

XLDnaute Impliqué
Re : recharger les listbox via fichier texte

Bonsoir

Tout à fait.
Il faut donc récupéré le n° (de 0 à x) pour le cocher.
Pour cela, un test avec deux boucles imbriquer

for i = 1 to 3
for y = Me.Controls("ListBox1").count '(a vérifier, je ne peux pas tester)
if Mon_Tableau(y) = Me.Controls("ListBox1").value(y) then ... '(à vérifier aussi)

next y
next i

Bon courrage
Olivier
 

Discussions similaires

Statistiques des forums

Discussions
312 503
Messages
2 089 055
Membres
104 013
dernier inscrit
VELONDAHY Mickaël