modifier une listbox

  • Initiateur de la discussion Initiateur de la discussion angefou
  • 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 !

angefou

XLDnaute Nouveau
Bonjour à tous,

j’essaie de créer un petit fichier de planification mais je rencontre quelques petit problèmes.
j'ai une combobox2 qui permet de modifier le rowsource de ma listbox1 code ci dessous :

Code:
Private Sub ComboBox2_Click()

If ComboBox2.Value = "Maintenance des équipements d'assistance" Then
ListBox1.RowSource = "equipement"
End If
If ComboBox2.Value = "Maintenance des organes de roulement" Then
ListBox1.RowSource = "roulement"
End If
If ComboBox2.Value = "Maintenance des bogies, levage caisse" Then
ListBox1.RowSource = "bogies"
End If
If ComboBox2.Value = "Maintenance caisse et portes" Then
ListBox1.RowSource = "caisse"
End If
If ComboBox2.Value = "Maintenance des organes de captage du courant de traction" Then
ListBox1.RowSource = "captage"
End If
If ComboBox2.Value = "Maintenance Frein" Then
ListBox1.RowSource = "frein"
End If
If ComboBox2.Value = "Intervention complètes" Then
ListBox1.RowSource = "intervention"
End If

If ComboBox2.Value = "Autres activités liés à la maintenance des véhicules" Then
ListBox1.RowSource = "autres"
End If

If ComboBox2.Value = "Maintenance des équipements d'assistance" Then
TextBox4.Value = 1

End If

End Sub

Code:
Private Sub ListBox1_Change()
TextBox2.Text = ListBox1.Text

End Sub

et je souhaite afficher une autre rowsource dans cette même listbox avec ma combobox3. sauf que cette fois -ci c'est un tableau de nom et prenom qui doivent s'afficher. Et lorsque je sélectionne un nom et prenom, la valeur de ma textbox5= au nom selectionner et ma textbox3 = le prenom selectionner.

Je vous remercie par avance pour votre aide.
 
Bonjour thebenois 🙂

Sinon un exemple à adapter à ton cas

Dans un module standard
VB:
Option Explicit
Public Rech_Comb(1 To 7) As String, Rech_List(1 To 7) As String, Sh As Worksheet

Public Sub Init_Valeurs()
    Set Sh = Sheets("Factures")

    'Critères de recherche  Combo   :    'Résultats dans la Listbox

    Rech_Comb(1) = "ID": Rech_List(1) = "Factures!$A$2:$A$65536"
    Rech_Comb(2) = "Vendeur": Rech_List(2) = "Factures!$B$2:$B$65536"
    Rech_Comb(3) = "Client": Rech_List(3) = "Factures!$C$2:$C$65536"
    Rech_Comb(4) = "Date commande": Rech_List(4) = "Factures!$D$2:$D$65536"
    Rech_Comb(5) = "Date livraison": Rech_List(5) = "Factures!$E$2:$E$65536"
    Rech_Comb(6) = "Date paiement": Rech_List(6) = "Factures!$F$2:$F$65536"
    Rech_Comb(7) = "Facture N°": Rech_List(7) = "Factures!$G$2:$G$65536"
End Sub

Dans l'Userform
VB:
Option Explicit
Dim n As Byte, k As Byte, x As Byte, derlig As Long, i As Long,  ColDate

Private Sub UserForm_Initialize()
    Call Init_Valeurs

    n = Sheets("Factures").Range("A:G").Columns.Count
    ListBox1.ColumnCount = Sheets("Factures").Range("A:G").Columns.Count
    ListBox1.ColumnWidths = "50;90;80;70;70;70;60"

    For k = 1 To n
        With Sheets("Factures")
            Me("Label" & k) = .Cells(1, k).Text
        End With
        Me("Label" & k).Top = Me("Label" & k).Top + 5
    Next

    With Sheets("Factures")
       derlig = .Range("a" & Rows.Count).End(xlUp).Row

        For i = 1 To 7
            ComboBox1.AddItem Rech_Comb(i)
        Next i

        For x = 2 To derlig
            ListBox1.AddItem .Range("a" & x)
            For j = 2 To 7
                ListBox1.List(ListBox1.ListCount - 1, j - 1) = .Cells(x, j)
                ColDate = ListBox1.List(ListBox1.ListCount - 1, j - 1)
                If IsDate(ColDate) Then _
                   ListBox1.List(ListBox1.ListCount - 1, j - 1) = Format(ColDate, "dd.mm.yyyy")
            Next j
        Next x
    End With
End Sub

Private Sub UserForm_Activate()
    ComboBox1 = ""
End Sub

Private Sub ComboBox1_Change()
    If ComboBox1 <> "" Then
        Call Recherche
    Else

    End If
End Sub


Private Sub Recherche()
    If ComboBox1 = Rech_Comb(1) Then ListBox1.RowSource = Rech_List(1): Exit Sub
    If ComboBox1 = Rech_Comb(2) Then ListBox1.RowSource = Rech_List(2): Exit Sub
    If ComboBox1 = Rech_Comb(3) Then ListBox1.RowSource = Rech_List(3): Exit Sub
    If ComboBox1 = Rech_Comb(4) Then ListBox1.RowSource = Rech_List(4): Exit Sub
    If ComboBox1 = Rech_Comb(5) Then ListBox1.RowSource = Rech_List(5): Exit Sub
    If ComboBox1 = Rech_Comb(6) Then ListBox1.RowSource = Rech_List(6): Exit Sub
    If ComboBox1 = Rech_Comb(7) Then ListBox1.RowSource = Rech_List(7): Exit Sub
End Sub
 
Bonsoir svp; je voudrai ajouter dans le code Range("d2:d" la formule gauche = 4.
par ex dans la colonne D2 j'ai "BADR 958 alors j'aimerai appliquer le code juste sur BADR

Private Sub CommandButton1_Click()
Dim i As Long, derlig As Long

With Sheets("bd")
derlig = .Range("e" & Rows.Count).End(xlUp).Row

For i = 3 To 9
Range("d" & i) = Application.SumIf(.Range("d2:d" & derlig), Range("c" & i), .Range("o2😱" & derlig))
Range("e" & i) = Application.CountIfs(.Range("n2:n" & derlig), Range("f" & i), .Range("d2:d" & derlig), Range("c" & i))


Next i
End With
End Sub


Merci
 
Bonsoir kaid

Si il y a des éspaces entre les lettres et les chiffres

With Sheets("bd")
derlig = .Cells( Rows.Count, "D").End(xlUp).Row
For i = 2 To derlig
.Cells(i, "D") = Split(.Cells(i, "D"), " ")
Next i
End With

le résultat sera: BADR
 
bonsoir et merci pour votre réponse
*j'ai un autre problème : j'ai commencer a saisir mes données je suis arriver a 900 lignes. et quand je l'ouvre il bug et parfois la userform ne s'affiche pas très très lent !!!!
.
 
Bonjour kaid, le Forum 🙂

Au faite kaid, c'est quoi cette manie de poster dans les messages des autres?? Ca t'emm... autant de créer une nouvelle discussion et de joindre un fichier avec? 😡 Et ça vaut aussi pour angefou. On est pas là pour vous mettre la tarte au pomme dans la bouche ou et encore une 10ème fois, on est pas des DEVINS.
 
- 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
10
Affichages
281
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
171
Réponses
2
Affichages
611
Réponses
3
Affichages
582
Retour