Selection listbox

nitroptik Messages postés 50 Date d'inscription samedi 5 octobre 2002 Statut Membre Dernière intervention 13 mai 2007 - 18 avril 2005 à 20:03
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 - 19 avril 2005 à 00:06
Salut, j'aimerais savoir si c'est possible de modifier se code pour pouvoir enregistrer seulement les lignes selectionné à l'interieur d'un listbox (style= checkbox)





Dim count As Integer
Open "blabla.txt" For Output As 1
For count = 0 To List1.ListCount - 1
Print #1, List1.List(count)
Next
Close 1

Merci de votre reponse.

14 réponses

Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
18 avril 2005 à 20:15
Dim count As Integer

Open "blabla.txt" For Output As #1
For count = 0 To List1.ListCount - 1
If List1.Selected = True Then
Print #1, List1.List(count)
End If
Next
Close #1

Daniel
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
18 avril 2005 à 20:21
Salut,

Dim count As Integer
    Open "blabla.txt" For Output As 1
    For count = 0 To List1.ListCount - 1
        If List1.Selected(count) Then Print #1, List1.List(count)
    Next
    Close 1



Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]&nbs
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
18 avril 2005 à 20:22
Mince trop rapide le Gobillot


Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]&nbs
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
18 avril 2005 à 20:27
trop rapide mais avec une erreur, j'ai oublié de mettre l'indice oups !

If List1.Selected (Count) = True Then

Print #1, List1.List(count)
End If

Daniel
0

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

Posez votre question
nitroptik Messages postés 50 Date d'inscription samedi 5 octobre 2002 Statut Membre Dernière intervention 13 mai 2007
18 avril 2005 à 21:27
Merci de ton aide mais comment faire pour ne pas perde ce qui est deja enregistré dans le "blabla.txt"

Je veux pouvoir selectionner les lignes pour les rajouter de jour en jour sans perde se que javais avant.

Je sais pas si c'est asser clair..

Merci de votre reponse.
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
18 avril 2005 à 21:29
Open "blabla.txt" For Append As 1


Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]&nbs
0
nitroptik Messages postés 50 Date d'inscription samedi 5 octobre 2002 Statut Membre Dernière intervention 13 mai 2007
18 avril 2005 à 21:44
Merci c'est exactement sa!

Derniere question ;P

On peu inverser le sens d'apparition des lignes dans le listbox ? Je veux que les nouvelles lignes soit en haut en lieu d'en bas

Merci de ta reponse.
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
18 avril 2005 à 21:52
Il faut pour cela mettre en mémoire le contenu du fichier en mémoire.

en supposant que OldInfo est la variable contenant le fichier avant insersion des nouvelles infos.

Print #1, NewInfo & OldInfo


Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]&nbs
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
18 avril 2005 à 22:40
tu veux que chaque ligne ajoutée dans la ListBox apparaisse au début plutôt qu'à la fin ?
si la propriété Sorted est à false, ella va se mettre à la fin forcément, sinon ça dépend du tri.

une solution c'est de décaler toutes les lignes existantes et de mettre la nouvelle ligne au début.
au lieu de faire:
List1.AddItem "ma chaine"
remplace par:
Ajout_Item "ma chaine"
inconvénient:
ça risque d'être long

Private Sub Ajout_Item(s As String)
Dim i As Integer
List1.AddItem s
For i = List1.ListCount - 1 To 1 Step -1
List1.List(i) = List1.List(i - 1)
Next
List1.List(0) = s
End Sub

Daniel
0
nitroptik Messages postés 50 Date d'inscription samedi 5 octobre 2002 Statut Membre Dernière intervention 13 mai 2007
18 avril 2005 à 23:09
Un gros Merci à toi Daniel, c'est ce qui me fallait.

Sais-tu si dans

Dim count As Integer
Open "blabla.txt" For Append As 1
For count = 0 To List1.ListCount - 1
If List1.Selected(count) Then Print #1, List1.List(count)
Next
Close 1

une erreur peux se produire si le fichier "blabla.txt" n'existe pas ?

tout semble OK sur Windows XP mais sur 95,98,me et 2000 ???
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
18 avril 2005 à 23:21
j'ai pas testé mais je pense que le fichier va se créer comme s'il avait été ouvert avec Output.
si ça marche sur XP pas de raison que ça ne marche pas sur les autres, c'est lié à Vb pas au système.

PS: je viens de tester, ça crée bien le fichier, mais ça t'apportes rien puisque c'est sur XP.

Daniel
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
18 avril 2005 à 23:24
Cela marche sur toute plateform Windows


Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]&nbs
0
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
18 avril 2005 à 23:56
Re,
Pour le Additem tu peux faire
List1.AddItem "toto", 1
Le 1 correspond à la position dans la liste

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
19 avril 2005 à 00:06
bien vu, je savais pas.
dans ce cas là tu fait List1.AddItem "toto", 0 à chaque fois et tu laisses tomber ma routine.
enfin pas "toto" mais ta chaine à ajouter.

Daniel
0
Rejoignez-nous