Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Ecriture dans Combobox

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 !

VBA_dev_Anne_Marie

XLDnaute Occasionnel
Bonjour ma combobox est liée à une base de données. Néanmoins, je voudrais écrire la donnée manuellement dans la combobox, si la donnée est introuvable.
Est-ce qu'il y a une option pour cela ? Est-ce que je peux ajouter une ligne à vide dans la combobox ?

Merci beaucoup !
 
Solution
bonsoir
si j'ai bien compris
voir du coté des propriétés des combo.
Du coté du style
DropDownlist: on n'a accès qu'a une liste , on ne peut pas inscrire des items ne figurant pas dans la liste
Dropdowncombo : on peut rajouter des items ne figurant pas dans la liste

regarde aussi la propriété matchentry
Bonsoir

comme on ne comprend pas ce que tu veux faire, regarde la PJ
j'y ai mis un combo alimenté par la table de la feuille

au lancement du formulaire:
1) clic directement sur valider SANS rien toucher au combo
2) selectionne un élément du combo PUIS valider
3) tape quelques chose qui ne correspond à aucun élément du combo PUIS valider
 

Pièces jointes

Merci beaucoup !
Vous avez bien compris mon besoin, mais en fait je n'ai pas de bouton supplémentaire "Valider", je souhaite que le texte écrit manuellement dans la liste soit récupéré avec la fonction _Change/Click. Est-ce que c'est possible ?
 
Bonjour,
j'y colle ma petite touche personnel!
VB:
Private Sub UserForm_Initialize()
Dim Cn As String, Rs As Object
Cn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;HDR=YES;"""
Set Rs = CreateObject("AdoDb.RecordSet")
Rs.Open "Select * from [Combo$]", Cn
Me.ComboBox1.Column = Rs.getrows
Rs.Close
Set Rs = Nothing
End Sub

Private Sub ComboBox1_Click()
If ComboBox1.ListIndex > -1 Then
MsgBox ComboBox1.Text
End If
End Sub

Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
    If ComboBox1.ListIndex = -1 And ComboBox1.Text <> "" Then
        ComboBox1.AddItem ComboBox1.Text
        ComboBox1.ListIndex = ComboBox1.ListCount - 1
        
    End If
ComboBox1_Click
End If
End Sub
 

Pièces jointes

Dernière édition:
Merci beaucoup !
 
- 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
40
Affichages
1 K
  • Question Question
Microsoft 365 Combobox
Réponses
6
Affichages
163
  • Question Question
Autres Code VBA
Réponses
11
Affichages
265
Réponses
5
Affichages
242
Réponses
3
Affichages
218
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…