XL 2016 Listbox 1 vers Listbbox2

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

AZZAOUI

XLDnaute Nouveau
Bonjour ,

J'ai une base de donnée sous Excel qui contient plusieurs onglets , donc j'ai pensé à construire un UF qui sert à choisir les onglets à exporter dans un nouveau fichier.

Dans mon UF , J'ai deux listbox ( listbox1 = choixonglets & listbox = ongletAexporté , et j'ai deux boutons :

- Ajouter pour faire mon choix.

- Supprimer pour supprimer l'item dans la Listbox2 et l'afficher dans sa première place dans la Listbox1.

==> Le problème : l'item à supprimer dans la list , il ne retourne pas à sa première place , il s'affiche de fin de la list dans Listbox1.
ou bien un item que je dois l'ajouter et après je le supprimer et après je l'ajouter encore une fois ( il ne garde pas sans


VB:
Private Sub Ajouter_Click()

'transfert de la Liste des onglets -> Liste des onglets conservées

Dim g, gmax, n, m, h As Variant

gmax = ListBox1.ListCount - 1



For g = 0 To gmax



If ListBox1.Selected(g) = True Then

ListBox2.AddItem ListBox1.List(g, 0)

m = ListBox2.ListCount - 1

ListBox1.RemoveItem (g)

g = g - 1

End If



'pb de sortie de boucle for en fin de liste

gmax = ListBox1.ListCount - 1

If g = gmax Then Exit For

Next g

End Sub



------------------------------------------------



Private Sub Supprimer_Click()

'transfert de la Liste des onglets conservées -> Liste des onglets

Dim g, gmax, n, m As Variant

gmax = ListBox2.ListCount



For g = 0 To gmax

If ListBox2.Selected(g) = True Then

ListBox1.AddItem ListBox2.List(g, 0)

ListBox2.RemoveItem (g)

g = g - 1

End If

'pb de sortie de boucle for en fin de liste

gmax = ListBox2.ListCount

If g = gmax - 1 Then Exit For

Next g

End Sub
 
Bonjour,

Un fichier exemple aurait été le bienvenu !

ou bien un item que je dois l'ajouter et après je le supprimer et après je l'ajouter encore une fois ( il ne garde pas sans

Bien que ne sachant pas trop ce que vous vouliez dire par (il ne garde pas sans, je me suis amusé à faire un exemple.

Les deux listbox ont 2 colonnes. Leur deuxième colonne est cachée. Cette deuxième colonne contient l'index d'ordre 1 à n des items dans la listbox1.

Lorsque vous supprimez un item de la listbox2, l'index ordre caché dans la deuxième colonne permet de retrouver son ancienne position dans la listbox1 en parcourant les items de celle-ci du bas vers le haut.

A vous de l'adapter.

Codialement
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
465
Réponses
10
Affichages
766
Réponses
7
Affichages
116
Réponses
4
Affichages
487
Réponses
4
Affichages
369
Réponses
3
Affichages
469
Retour