Enregistrer données issues userform en fonction valeur combo

Bonjour,

J'ai créer un userform où je saisie plusieurs données et j'aimerais pouvoir enregistrer ces données sur une feuille en fonction de valeur du combobox1.

Je m'explique : Si la valeur du combobox1 est TR1400B alors les données sont enregistrées sur la feuille nommée "TR1400B" (préalablement crée), Si la valeur du combobox1 est TR1200B alors les données sont enregistrées sur la feuille nommée "TR1200B"...etc.

Voici le code que j'ai écrit pour cela mais qui ne marche pas:

Private Sub CmdValider_Click()
Dim num As Integer
Dim Ws As Worksheet

If ComboBox1.Text = "TR1400B" Then Set Ws = Sheets("TR1400B")
num = Ws.Range("A65536").End(xlUp).Row + 1

'Mise en place des valeurs saisies

    Ws.Range("A" & num).Value = ComboBox1
    Ws.Range("A" & num).Borders.Weight = xlThin

    Ws.Range("B" & num).Value = TextBox1
    Ws.Range("B" & num).Borders.Weight = xlThin

    Ws.Range("C" & num).Value = TextBox7
    Ws.Range("C" & num).Borders.Weight = xlThin
    Ws.Range("D" & num).Value = TextBox9
    Ws.Range("D" & num).Borders.Weight = xlThin
    Ws.Range("E" & num).Value = TextBox8
    Ws.Range("E" & num).Borders.Weight = xlThin
    Ws.Range("F" & num).Value = TextBox10

Unload Me 'vide et ferme l'UserForm
'bouton fermer
End Sub

Est ce que quelqu'un peut m'aider à résoudre mon problème ?

Merci d'avance

Bonjour youlig,

Pourquoi mettre l'affectation du nom de feuille dans une condition ?

Essaie en modifiant ton code comme suit :

Private Sub CmdValider_Click()
    Dim num As Integer
    Dim Ws As Worksheet

    Set Ws = Sheets(ComboBox1.value)
    num = Ws.Range("A65536").End(xlUp).Row + 1

    'Mise en place des valeurs saisies

        Ws.Range("A" & num).Value = ComboBox1
        Ws.Range("A" & num).Borders.Weight = xlThin
        Ws.Range("B" & num).Value = TextBox1
        Ws.Range("B" & num).Borders.Weight = xlThin
        Ws.Range("C" & num).Value = TextBox7
        Ws.Range("C" & num).Borders.Weight = xlThin
        Ws.Range("D" & num).Value = TextBox9
        Ws.Range("D" & num).Borders.Weight = xlThin
        Ws.Range("E" & num).Value = TextBox8
        Ws.Range("E" & num).Borders.Weight = xlThin
        Ws.Range("F" & num).Value = TextBox10
    Unload Me 'vide et ferme l'UserForm
    'bouton fermer
    End Sub

Cordialement.

Bonjour,

Petite variante à..

    Set Ws = Sheets(ComboBox1.value)
    If ComboBox1.text <> "" then
        Set Ws = Sheets(ComboBox1.Text)
    Else
        Exit Sub
    End if

A+

Super !!! Merci beaucoup à tous les 2.

Rechercher des sujets similaires à "enregistrer donnees issues userform fonction valeur combo"