Ajouter plusieurs listBox dans un meme userform
Résolu
Mnestra
Messages postés
2
Statut
Membre
-
cs_Le Pivert Messages postés 8437 Statut Contributeur -
cs_Le Pivert Messages postés 8437 Statut Contributeur -
Bonjour,
Depuis 3 jours j'apprends à "essayer" de coder sur excel]. Grâce a vos différents post (surtout à pijaku ), j'ai pu créer des useform pour utiliser des menus déroulants a choix multiples, jusqu'a là tout allait bien. Maintenant je voudrais perfectionner tout cela et ajouter plusieurs listbox dans un même useform, mais cela dépasse mes compétences sur Excel
Voici mon code
Option Explicit
Private Sub Valider_Click()
Dim i As Byte
Dim ValeurARetourner As String
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
ValeurARetourner = ValeurARetourner & ListBox1.List(i) & ";"
End If
Next i
For i = 0 To ListBox2.ListCount - 1
If ListBox2.Selected(i) = True Then
ValeurARetourner = ValeurARetourner & ListBox1.List(i) & ";"
End If
Next i
For i = 0 To ListBox3.ListCount - 1
If ListBox3.Selected(i) = True Then
ValeurARetourner = ValeurARetourner & ListBox1.List(i) & ";"
End If
Next i
ValeurARetourner = Left(ValeurARetourner, Len(ValeurARetourner) - 1)
For i = 1 To Len(ValeurARetourner)
If Mid(ValeurARetourner, i, 1) = ";" Then v = v + 1
Next i
With Sheets("Field")
.Range("A3:A" & .Cells(.Rows.Count, 1).End(xlUp).Row).ClearContents
If v > 0 Then
ValeurARetourner = Split(ValeurARetourner, ";")
For i = 0 To v
.Cells(i + 3, 1) = ValeurARetourner(i)
Next i
Else
.Range("A3") = ValeurARetourner
End If
.Range("B3").Activate
End With
UserForm1.Hide
Unload UserForm1
End Sub
Private Sub UserForm_Initialize()
Dim i As Integer, Derlig As Integer
ListBox2.Clear
Derlig = Sheets("Field").Cells(65536, 22).End(xlUp).Row
For i = 1 To Derlig
ListBox1.AddItem Cells(i, 22).Value
Next i
For i = 0 To ListBox2.ListCount - 1
If ListBox2.Selected(i) = True Then
ListBox2.Selected(i) = False
End If
Next i
ListBox1.Clear
Derlig = Sheets("Field").Cells(65536, 21).End(xlUp).Row
For i = 1 To Derlig
ListBox1.AddItem Cells(i, 21).Value
Next i
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
ListBox1.Selected(i) = False
End If
Next i
End Sub
Et là je suis bloquée car je ne sais pas enchainer les listbox
Si quelqu'un peut aider, je suis prenante
Merci d'avance
Depuis 3 jours j'apprends à "essayer" de coder sur excel]. Grâce a vos différents post (surtout à pijaku ), j'ai pu créer des useform pour utiliser des menus déroulants a choix multiples, jusqu'a là tout allait bien. Maintenant je voudrais perfectionner tout cela et ajouter plusieurs listbox dans un même useform, mais cela dépasse mes compétences sur Excel
Voici mon code
Option Explicit
Private Sub Valider_Click()
Dim i As Byte
Dim ValeurARetourner As String
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
ValeurARetourner = ValeurARetourner & ListBox1.List(i) & ";"
End If
Next i
For i = 0 To ListBox2.ListCount - 1
If ListBox2.Selected(i) = True Then
ValeurARetourner = ValeurARetourner & ListBox1.List(i) & ";"
End If
Next i
For i = 0 To ListBox3.ListCount - 1
If ListBox3.Selected(i) = True Then
ValeurARetourner = ValeurARetourner & ListBox1.List(i) & ";"
End If
Next i
ValeurARetourner = Left(ValeurARetourner, Len(ValeurARetourner) - 1)
For i = 1 To Len(ValeurARetourner)
If Mid(ValeurARetourner, i, 1) = ";" Then v = v + 1
Next i
With Sheets("Field")
.Range("A3:A" & .Cells(.Rows.Count, 1).End(xlUp).Row).ClearContents
If v > 0 Then
ValeurARetourner = Split(ValeurARetourner, ";")
For i = 0 To v
.Cells(i + 3, 1) = ValeurARetourner(i)
Next i
Else
.Range("A3") = ValeurARetourner
End If
.Range("B3").Activate
End With
UserForm1.Hide
Unload UserForm1
End Sub
Private Sub UserForm_Initialize()
Dim i As Integer, Derlig As Integer
ListBox2.Clear
Derlig = Sheets("Field").Cells(65536, 22).End(xlUp).Row
For i = 1 To Derlig
ListBox1.AddItem Cells(i, 22).Value
Next i
For i = 0 To ListBox2.ListCount - 1
If ListBox2.Selected(i) = True Then
ListBox2.Selected(i) = False
End If
Next i
ListBox1.Clear
Derlig = Sheets("Field").Cells(65536, 21).End(xlUp).Row
For i = 1 To Derlig
ListBox1.AddItem Cells(i, 21).Value
Next i
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
ListBox1.Selected(i) = False
End If
Next i
End Sub
Et là je suis bloquée car je ne sais pas enchainer les listbox
Si quelqu'un peut aider, je suis prenante
Merci d'avance
A voir également:
- Ajouter plusieurs listBox dans un meme userform
- Ajouter un profil netflix payant - Accueil - Guide streaming
- Ajouter agenda outlook dans google agenda - Guide
- Impossible d'ajouter un ami sur facebook - Guide
- Ajouter un compte whatsapp - Guide
- Ajouter un compte facebook - Guide
2 réponses
Bonjour,
En essayant de construire une application selon votre code il est impossible de comprendre ce que vous voulez comme résultat et de plus le code produit une erreur car certainement il manque des éléments dans mon essai
Plus ce n'est pas faisable...... !
En essayant de construire une application selon votre code il est impossible de comprendre ce que vous voulez comme résultat et de plus le code produit une erreur car certainement il manque des éléments dans mon essai
Plus ce n'est pas faisable...... !
Mnestra
Messages postés
2
Statut
Membre
Oui j'ai tout mélangé, je vais partir sur une autre idée en continuant à apprendre. Merci
Bonjour,
A consulter sans modération pour aller plus loin en vba:
https://silkyroad.developpez.com/VBA/ControlesUserForm/#LII-G
A consulter sans modération pour aller plus loin en vba:
https://silkyroad.developpez.com/VBA/ControlesUserForm/#LII-G