transfert entre listbox

  • Initiateur de la discussion Initiateur de la discussion petitcoco
  • Date de début Date de début

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 !

petitcoco

XLDnaute Nouveau
Bonjour,

Je n'ai pas trouvé dans le forum mais je suppose que ca doit déjà exister :
un userform avec deux listbox et des boutons de commande pour compléter la listbox2 avec les éléments de la listbox1 et inversément: soit certains éléments, soit tous les éléments et supprimer ces éléments dans la listbox d'origine.

Dans l'exemple joint, je sais transférer tout de l'une à l'autre mais pas une partie car je n'arrive pas a supprimer un élément d'une listbox après l'avoir transférer dans l'autre.

Merci [file name=dbllistbox.zip size=12584]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/dbllistbox.zip[/file]
 

Pièces jointes

Bonjour petit coco

en pièce jointe ton fichier modifié.

Pour supprimer un item de ta listbox il te faut utiliser listbox1.removeitem(index)

comme tu es en multiselection, il te faut boucler à l'envers (for i=listbox1.listcount-1 to 0 step -1) sur chaque élément de la listbox, sinon tu aura une erreur puisque tu supprimes des iterations dans ta boucle (suis-je clair ?)

donc, nouveau souci, tes éléments sont renvoyées en sens inverse de leurs sélections, ex :

tu sélectionnes a et ben listbox1, et tu retrouves en listbox2: b et a.

si ceci est génant, reviens nous le dire, on fera autrement.

salut [file name=dbllistbox_20060313114026.zip size=12629]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/dbllistbox_20060313114026.zip[/file]
 

Pièces jointes

Bonjour PetitCoco, Hervé, bonjour le forum,

Hou j'ai bien galéré sur ce coup-là... Alors qu'Hervé a dû faire ça les doigts dans le nez (il n'a aucune tenue ce gars...). J'envoie quand même m'a proposition assez différente de celle d'Hervé puisque j'utilise la colonne B pour la ListBox2, car sinon à la réouverture de l'UserForm tout est réinitialisé et je ne vois plus l'intérêt...
[file name=dbllistbox_v2.zip size=16877]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/dbllistbox_v2.zip[/file]
 

Pièces jointes

re petitcoco, salut robert 🙂

ah oui, tu as raison, faut bien renvoyer les données apres sinon ca ne sert à rien.

personnellement j'utilise l'evenement terminate, comme ca on ne fait la manip qu'une fois :



Private Sub UserForm_Terminate()
Dim i As Byte

For i = 1 To 2
        Columns(i).Clear
       
With Controls('listbox' & i)
               
If Not .ListCount = 0 Then
                        Cells(1, i).Resize(.ListCount, 1) = .List
               
End If
       
End With
Next i

End Sub

et à l'initialize :


Private Sub UserForm_Activate()
Dim i As Byte
Dim j As Integer

For i = 1 To 2
       
For j = 1 To Cells(65536, i).End(xlUp).Row
                Controls('listbox' & i).AddItem Cells(j, i)
       
Next j
Next i

End Sub



salut
 
Bonjour PetitCoco, Hervé, bonjour le forum,

PetitCoco : tu fais comme si je n'existais pas d'accord... Tu prends la demo à Hervé.

Hervé : c'est même pas drôle... (heu oui ! Y'avait bien un défaut dans ma démo mais toi aussi fait comme PetitCoco. Pffff... c'est dur d'écrire la tête dan sle sable...)
 
- 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
1
Affichages
1 K
Réponses
42
Affichages
6 K
G
Réponses
4
Affichages
1 K
G
G
  • Question Question
Réponses
3
Affichages
1 K
guy974
G
I
Réponses
6
Affichages
2 K
ISABELLE
I
P
Réponses
3
Affichages
2 K
Phil.Brrd
P
Réponses
4
Affichages
1 K
Retour