Je cherche une autre solution plus stable.
Version imprimable
Je cherche une autre solution plus stable.
ok merci beaucoup :)
je vais chercher aussi de mon côté
:alerte:Voila une petite théorie du fonctionnement de ce code :
je confirme cette théorie
On rajoute ListReserves.SelectedIndex = select_index + 1 car le tout premier index commence à partir de 0. Le fait de mettre ListReserves.SelectedIndex = select_index + 2 va permettre de délimiter la zone de sélection. Ensuite le ListReserves.SelectedIndex = select_index + 1 permet de remplir la zone de sélection.
hum hum je comprend un peu mieux
je vais essayer de trouver de mon côté le code qui permet de supprimer les données sélectionnées, parce que la ça ne me supprime que la données sur laquelle 'jai cliqué, pas les autres
j'ai le bon code mais il me supprime ligne par ligne et pas le bloc de 3.. enfin ça j'essaierai de m'en charger, vous m'avez déjà aider à bien avancer !!
dites moi pour un code plus stable dès que vous avez, je suis toujours preneur :)
Il n'y a pas de problème. Cela a été un grand plaisir de vous aidez.:ccool:
Finalement je pense que ce code est stable car j'ai réussi à faire une schéma très compréhensible, ce code est logique pour moi mais si j'ai mieux je vous fais signe.
ok, merci beaucoup :)
je n'aurais jamais trouver seul !!
:D
Avant de vous quittez j'ai fait un code stable :
Voici un code stable pour sélectionner 4 items n'importe où dans un listbox. Ce code permet de comprendre son fonctionnement.
Un code stable pour sélectionner 3 items dans un listbox :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 'Ce code est valide pour sélectionner 4 items dans un listbox' ListBox1.Items.AddRange(System.IO.File.ReadAllLines("c:\journal.txt")) 'récupération de l'index' Dim select_index As Integer select_index = ListBox1.SelectedIndex.ToString() 'si l'index sélectionné est égal à lui alors on sélectionné tous ce qui doit être sélectionné' If select_index = select_index Then 'cette partie permet de changer le mode de sélection' ListBox1.SelectionMode = SelectionMode.MultiSimple 'Pour sélectionner plus ou moins il faut changer la valeur 3 à côté du To en sachant que les index commencent à 0' Dim boucle As Integer For boucle = 0 To 3 'cette partie permet de délimiter la zone de sélection' ListBox1.SelectedIndex = select_index + boucle 'Voici tous les index sélectionnés : 0 + 1 + 2 + 3 (dans cette partie on a les 4 index qui doivent être sélectionnées)' Next boucle End If
Aller merci d'avoir suivis mes conseils et à bientôt.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 'Ce code est valide pour sélectionner 3 items dans un listbox' ListReserves.Items.AddRange(System.IO.File.ReadAllLines("c:\journal.txt")) 'récupération de l'index' Dim select_index As Integer select_index = ListReserves.SelectedIndex.ToString() 'si l'index sélectionné est égal à lui alors on sélectionné tous ce qui doit être sélectionné' If select_index = select_index Then 'cette partie permet de changer le mode de sélection' ListReserves.SelectionMode = SelectionMode.MultiSimple 'Pour sélectionner plus ou moins il faut changer la valeur 2 à côté du To en sachant que les index commencent à 0' Dim boucle As Integer For boucle = 0 To 2 'cette partie permet de délimiter la zone de sélection' ListReserves.SelectedIndex = select_index + boucle 'Voici tous les index sélectionnés : 0 + 1 + 2 (dans cette partie on a les 3 index qui doivent être sélectionnées)' Next boucle End If
heyy ça fonctionne super bien !
Maintenant je dois trouver comment lorsque je clique sur "supprimer" il déplace les 4 dans la listbox Annuler et qu'il supprime les 4 d'un cou de la listbox Reservés !!
merci beaucoup pour l'aide !!
Bonjour djdjo59
Finalement vous voulez toujours prendre 3 items ou 4 items ? Parce que vous avez dit 4 dans le dernier message.
Voila le code à mettre dans votre bouton : (valide pour la sélection de 4 items)
Fonctionnement des deux codes : ils permettent de déplacer la sélection dans le ListAAnuler et de supprimer votre sélection dans le ListReserves.
ouCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 'ici j'obtient le nombre maximal d'items qui est contenues dans le ListReserves' Dim max_item As Integer max_item = ListReserves.Items.Count.ToString() 'ici j'obtient l'index qui vient d'être séléctionné' Dim index_select As Integer index_select = ListReserves.SelectedIndex.ToString() Dim checked_items As Integer For checked_items = 0 To max_item 'ici je regarde tous les items du ListReserves qui sont sélectionnés' If ListReserves.SelectedIndex = checked_items = True Then Dim name_item0 As String name_item0 = ListReserves.SelectedItem.ToString() 'je créer une boucle pour pouvoir énumérer les autres index de la sélection' 'tous mes index sélectionnés sont énumérer ici' 'variable de la boucle' Dim other_index As Integer 'variable des index énumérés' Dim name_item1 As Integer 'variable qui indique le nom de l'index énuméré' Dim name_of_item As String For other_index = 0 To 3 name_item1 = index_select + other_index 'ici je récupère le nom des index sélectionnés' name_of_item = ListReserves.Items(name_item1) 'ici j'écris le nom des items dans le ListAAnuler' ListAAnnuler.Items.Add(name_of_item) Next other_index End If Next checked_items 'ici je supprime les index sélectionnés' 'pour cela je dois faire une boucle pour supprimer l'index qui sera sélectionné 4 fois' Dim boucle_suppr As Integer For boucle_suppr = 0 To 3 ListReserves.Items.RemoveAt(index_select) Next boucle_suppr
Sinon si c'est pour 3 items sélectionnés vous pouvez utiliser ce code :
(ce code est à mettre dans le bouton)
Bon test et merci de me tenir au courant si ce code correspond ou pas à votre demande :ccool:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 'ici j'obtient le nombre maximal d'items qui est contenues dans le ListReserves' Dim max_item As Integer max_item = ListReserves.Items.Count.ToString() 'ici j'obtient l'index qui vient d'être séléctionné' Dim index_select As Integer index_select = ListReserves.SelectedIndex.ToString() Dim checked_items As Integer For checked_items = 0 To max_item 'ici je regarde tous les items du ListReserves qui sont sélectionnés' If ListReserves.SelectedIndex = checked_items = True Then Dim name_item0 As String name_item0 = ListReserves.SelectedItem.ToString() 'je créer une boucle pour pouvoir énumérer les autres index de la sélection' 'tous mes index sélectionnés sont énumérer ici' 'variable de la boucle' Dim other_index As Integer 'variable des index énumérés' Dim name_item1 As Integer 'variable qui indique le nom de l'index énuméré' Dim name_of_item As String For other_index = 0 To 2 name_item1 = index_select + other_index 'ici je récupère le nom des index sélectionnés' name_of_item = ListReserves.Items(name_item1) 'ici j'écris le nom des items dans le ListAAnuler' ListAAnnuler.Items.Add(name_of_item) Next other_index End If Next checked_items 'ici je supprime les index sélectionnés' 'pour cela je dois faire une boucle pour supprimer l'index qui sera sélectionné 4 fois' Dim boucle_suppr As Integer For boucle_suppr = 0 To 2 ListReserves.Items.RemoveAt(index_select) Next boucle_suppr