Liste deroulante dans userform

Bonjour

J'ai ce code qui m'avait été fourni et que j'ai remanié

Option Explicit

Private Sub UserForm_Initialize()
  Dim chn$, dlg As Byte, i As Byte: chn = "Paramètres"
  With Worksheets(chn)
    Lib01 = .[Y2]: chn = chn & "!": dlg = .Cells(Rows.Count, 1).End(3).Row
    For i = 2 To 9
      Controls("Lib0" & i).RowSource = "=" & chn & "Y3:Y13" & dlg
    Next i
  End With
End Sub

Private Sub Lib01_Change(): [B83] = Lib01: End Sub
Private Sub Lib02_Change(): [B84] = Lib02: End Sub
Private Sub Lib03_Change(): [B85] = Lib03: End Sub
Private Sub Lib04_Change(): [B86] = Lib04: End Sub
Private Sub Lib05_Change(): [B87] = Lib05: End Sub
Private Sub Lib06_Change(): [B88] = Lib06: End Sub
Private Sub Lib07_Change(): [B89] = Lib07: End Sub
Private Sub Lib08_Change(): [B90] = Lib08: End Sub
Private Sub Lib09_Change(): [B91] = Lib09: End Sub
Private Sub Lib11_Change(): [B94] = Lib11: End Sub
Private Sub Lib12_Change(): [B95] = Lib12: End Sub

Le userfom s'affiche via le bouton Feuil1

Il va chercher les données en feuille paramètre Y2 à Y13

4test-v3.xlsm (42.05 Ko)

Ca fonctionne mais mes trois menu déroulant du coté droit Sommes nettes ne fonctionne pas. Une idée ?

Bonjour,

Dans ton code les éléments des listes 10 à 12 ne sont pas défini, ils sont sensé afficher quoi ?

Bonjour,

Controls("Lib0 .... > or 10, 11 et 12 n'ont pas de 0 après Lib ...

Un essai de correction ...

Private Sub UserForm_Initialize()
Dim chn$, dlg As Byte, i As Byte: chn = "Paramètres"
    With Worksheets(chn)
        Lib01 = .[Y2]: chn = chn & "!": dlg = .Cells(Rows.Count, 1).End(3).Row
        For i = 2 To 12
            If i < 10 Then
                Controls("Lib0" & i).RowSource = "=" & chn & "Y3:Y13" & dlg
            Else
                Controls("Lib" & i).RowSource = "=" & chn & "Y3:Y13" & dlg
            End If
        Next i
    End With
End Sub

ric

Il doit afficher les données se trouvant dans les listes déroulantes ci dessous

image

Aucune personne pour m'aider ?
J'ai finaliser mon projet global et ce serait embêtant de rester bloquer à ce stade

Merci

Bonjour,

Controls("Lib0 .... > or 10, 11 et 10 n'ont pas de 0 après Lib ...

Un essai de correction ...

Private Sub UserForm_Initialize()
Dim chn$, dlg As Byte, i As Byte: chn = "Paramètres"
    With Worksheets(chn)
        Lib01 = .[Y2]: chn = chn & "!": dlg = .Cells(Rows.Count, 1).End(3).Row
        For i = 2 To 12
            If i < 10 Then
                Controls("Lib0" & i).RowSource = "=" & chn & "Y3:Y13" & dlg
            Else
                Controls("Lib" & i).RowSource = "=" & chn & "Y3:Y13" & dlg
            End If
        Next i
    End With
End Sub

ric

Si tes listes contiennent la même chose que celles de gauche la solution est déjà donné ci-dessus

Ca marche

Un grand Merci

Effetivement à partir de 10, elle ne peuvent s'appeler LIB0

Rechercher des sujets similaires à "liste deroulante userform"