Problème dans mon UserForm

Bonjour,

J'ai un problème dans mes lignes de code et je n'arrive pas a voir où est mon erreur, c'est un ptit problème mais bon je préfère le résoudre.

J'ai amélioré un code pour, quand je double clic sur une case, une UserForm s'ouvre me proposant 3 liste déroulante, chaque liste déroulante influençant celle qui la suis, le nom choisi dans la dernière liste déroulante est retourné dans la case où j'ai double cliqué

Le problème :

La 1ère liste déroulante (ComboBox3) marche très bien, elle m'affiche mes 2 choix : "Module" ou "Onduleur".

Ma 2ème liste déroulante (ComboBox1) ne m'affiche rien, il faut que je clic à côté (sur l'interface) et qu'ensuite je retourne sur ma liste déroulante pour que les différents choix disponibles apparaissent...

La 3ème liste déroulante (ComboBox2) marche bien.

Voici le code que je rentre :

Option Explicit
        Dim TabTemp As Variant

Private Sub UserForm_Initialize()

ComboBox3.RowSource = "Feuil10!F11:F12" 'Récupération des Données, "Module" ou "Onduleur"

End Sub
Private Sub UserForm_Click()

If ComboBox3.Text = "Module" Then

            'La sélection du ComboBox1 (données colonne B) définit le contenu du ComboBox2 (données colonne 1)

        Dim L As Long
            'Mémorise les données dans un tableau variant temporaire
            With Sheets("Module")
                L = .Cells(.Rows.Count, 1).End(xlUp).Row
                TabTemp = .Range(.Cells(2, 1), .Cells(L, 3)).Value
            End With
            'Remplir ComboBox1
             RemplirCbo 1, ""
End If
If ComboBox3.Text = "Onduleur" Then

            'Mémorise les données dans un tableau variant temporaire
           With Sheets("Onduleur")
               L = .Cells(.Rows.Count, 1).End(xlUp).Row
                TabTemp = .Range(.Cells(2, 1), .Cells(L, 3)).Value
            End With
            'Remplir ComboBox1
            RemplirCbo 1, ""

End If
End Sub

Private Sub ComboBox1_click()

    'Remplir Combo2
    RemplirCbo 2, ComboBox1.Text

End Sub

Private Sub RemplirCbo(Id As Byte, T As String)

Dim Col As New Collection   'gestion doublons
Dim Cbo As Control
Dim L As Long
    'RAZ ComboBox
    For L = 2 To Id Step -1
        Controls("Combobox" & L).Clear
    Next L
    'MAJ ComboBox (sans doublon)
    Set Cbo = Controls("Combobox" & Id)
    For L = 1 To UBound(TabTemp, 1)
        If TabTemp(L, 2) <> "" Then 'Pour éviter les lignes de titre
            If Id = 1 Then  'Pour la première ComboBox
                TabTemp(L, 3) = 1
                On Error Resume Next
                Col.Add TabTemp(L, 2), CStr(TabTemp(L, 2))
                On Error GoTo 0
                If Col.Count > Cbo.ListCount Then Cbo.AddItem TabTemp(L, 2)
            Else            'Pour la suivante
                If TabTemp(L, Id) = T Then
                    If TabTemp(L, 3) = 1 Then
                        On Error Resume Next
                        Col.Add TabTemp(L, 1), CStr(TabTemp(L, 1))
                        On Error GoTo 0
                        If Col.Count > Cbo.ListCount Then Cbo.AddItem TabTemp(L, 1)
                    End If
                End If
            End If
        End If
    Next L
End Sub

Sub CommandButton1_Click()

    ActiveCell.Value = ComboBox2.Text
    Unload UserForm9
End Sub

Si quelqu'un voit d'où vient mon erreur... Merci d'avance

5macromodifie.xlsm (14.63 Ko)

Bonsoir vodkaddict

tu as placé la procédure dans userform_click

essai dans

Private Sub ComboBox3_Change()

Cordialement

Bob

J'avoue... je n'avais pas pensé à cela!

Merci, j'essaie demain et je te riens au courant

[EDIT] Impeccable cela marche, merci

Rechercher des sujets similaires à "probleme mon userform"