Activer la saisie dans une combobox après avoir cliqué sur un bouton

Bonjour,

J'ai un form dans lequel sont situés plusieurs combobox et plusieurs boutons associés à ces combobox. Ce que je veux c'est que lorsque l'utilisateur sélectionne un item dans une combobox et qu'il clique sur le bouton associé à cette combobox et bien cela active la saisie dans le combobox, avec un truc du genre ComboBox1.Activate, quelqu'un à une idée ? Merci.

Que veux-tu dire par activer la saisie dans la combobox ? En fait que veux-tu faire exactement ?

image

J'explique, l'utilisateur à soit le choix de prendre un item dans le menu déroulant de la combobox soit de taper un nom de poste dans le champs de saisie de la box et de cliquer sur le bouton ajouter pour ajouter le poste à la liste déroulante. Ce que je veux c'est que lorsque l'utilisateur choisit de créer un nouveau poste, donc de rentrer un nom et de cliquer sur le bouton pour le créer, on active la saisie dans la combobox pour que l'utilisateur n'ai pas à cliquer sur la combobox pour rentrer un nouveau poste.

Bpnjpur

Bjonjour à tous

Un essai à tester. Te convient-il ?

48classeur1-v1.xlsm (29.50 Ko)
Option Explicit

Private Sub CommandButton1_Click()
    If ComboBox1 = "" Then
        MsgBox "Sélectionner ou saisissez un poste.", 16
        Exit Sub
    End If
    If WorksheetFunction.CountIf(Range("Poste"), ComboBox1) = 0 Then
        Range("B" & Rows.Count).End(xlUp)(2).Value = ComboBox1
        MsgBox "Le poste " & ComboBox1 & " à été ajouté car il n'existait pas."
    End If

    MsgBox "Le Poste " & ComboBox1 & " est actif.", 16
End Sub

Private Sub CommandButton2_Click()
    If ComboBox2 = "" Then
        MsgBox "Sélectionner ou saisissez une typologie.", 16
        Exit Sub
    End If
    If WorksheetFunction.CountIf(Range("Typologie"), ComboBox12) = 0 Then
        Range("D" & Rows.Count).End(xlUp)(2).Value = ComboBox2
        MsgBox "La typologie" & ComboBox2 & " à été ajoutée car elle n'existait pas."
    End If

    MsgBox "La typologie " & ComboBox2 & " est active.", 16

End Sub

Private Sub UserForm_initialize()

    ComboBox1.List = Sheets("Feuil1").Range("Poste").Value
    ComboBox2.List = Sheets("Feuil1").Range("Typologie").Value
End Sub

Bye !

Je ne suis pas certain d'avoir compris. Dans l'exemple ci-dessous, le contenu de la combo se trouve dans la colonne A de la feuille "datas".
Lorsqu'on entre une valeur dans la combo, si on clique sur le bouton "+", on ajoute la nouvelle valeur :
- dans la combo et
- à la suite des données dans la feuille "datas".
Il ne faudra pas oublier de sauvegarder le fichier à la fin pour tout retrouver

27combo.xlsm (22.43 Ko)

GMB merci pour ton message et ton code. Tu as bien illustré ce que je fais en ce moment, ce qui me manque c'est lorsque tu ajoute ton poste, je veux que le champs de saisie se réinitialise (Combobox1.value = "") et activer la saisie dans cette combobox pour que l'user puisse directement taper le nom d'un nouveau poste sans cliquer sur la combobox. Imaginons qu'il doivent rentrer X poste, il devrait cliquer X fois sur la combobox, taper X nom, et cliquer X fois sur le bouton ajouter. Moi ce que je veux c'est cliquer une fois sur la combobox, Taper X nom et cliquer X fois.

J'ai trouvé, c'est la méthode "SetFocus". Merci à tous.

Nouvel essai

31classeur1-v2.xlsm (28.04 Ko)
Option Explicit

Private Sub CommandButton1_Click()
    If ComboBox1 = "" Then
        MsgBox "Sélectionner ou saisissez un poste.", 16
        Exit Sub
    End If
    If WorksheetFunction.CountIf(Range("Poste"), ComboBox1) = 0 Then
        Range("B" & Rows.Count).End(xlUp)(2).Value = ComboBox1
        MsgBox "Le poste " & ComboBox1 & " à été ajouté car il n'existait pas."
        Unload Me
        UserForm1.Show
    End If

End Sub

Private Sub CommandButton2_Click()
    If ComboBox2 = "" Then
        MsgBox "Sélectionner ou saisissez une typologie.", 16
        Exit Sub
    End If
    If WorksheetFunction.CountIf(Range("Typologie"), ComboBox2) = 0 Then
        Range("D" & Rows.Count).End(xlUp)(2).Value = ComboBox2
        MsgBox "La typologie" & ComboBox2 & " à été ajoutée car elle n'existait pas."
        Unload Me
        UserForm1.Show

    End If
End Sub

Private Sub UserForm_initialize()

    ComboBox1.List = Sheets("Feuil1").Range("Poste").Value
    ComboBox2.List = Sheets("Feuil1").Range("Typologie").Value
End Sub

Bye !

Rechercher des sujets similaires à "activer saisie combobox clique bouton"