XL 2016 relier un combobox à un textbox

borain

XLDnaute Nouveau
Bonjour suis pas très bon en vba (suis peut-être nul) mais j'aimerai relier mon combobox à mon textbox
voici mon code
mais rien ne marche!


Code:
dim a()

Private Sub UserForm_Initialize()
  a = Application.Transpose(Sheets("fiche").Range("e2:e42849").Value)
  Me.ComboBox2.List = a
End Sub
Private Sub ComboBox2_Change()
If Me.ComboBox2.ListIndex = -1 And IsError(Application.Match(Me.ComboBox2, a, 0)) Then
   Me.ComboBox2.List = Filter(a, Me.ComboBox2.Text, True, vbTextCompare)
   Me.ComboBox2.DropDown
  Me.TextBox2 = Sheets("fiche").Range("c" & Me.ComboBox2.ListIndex + 2)
 

   Else
   TextBox2 = ""
 
      End If
 


     
End Sub
 
Dernière édition:

Bebere

XLDnaute Barbatruc
Bonjour
Borain bienvenue

Dim a()

Private Sub UserForm_Initialize()
' a = Application.Transpose(Sheets("fiche").Range("e2:e42849").Value)
a = Sheets("fiche").Range("e2:e42849").Value
Me.ComboBox2.List = a
End Sub
Private Sub ComboBox2_Change()
If Me.ComboBox2 <> "" Then
' Me.ComboBox2.List = Filter(a, Me.ComboBox2.Text, True, vbTextCompare)
' Me.ComboBox2.DropDown
Me.TextBox2 = Sheets("fiche").Range("c" & Me.ComboBox2.ListIndex + 2)
Else
TextBox2 = ""

End If

End Sub
 

borain

XLDnaute Nouveau
s
Bonjour
Borain bienvenue

Dim a()

Private Sub UserForm_Initialize()
' a = Application.Transpose(Sheets("fiche").Range("e2:e42849").Value)
a = Sheets("fiche").Range("e2:e42849").Value
Me.ComboBox2.List = a
End Sub
Private Sub ComboBox2_Change()
If Me.ComboBox2 <> "" Then
' Me.ComboBox2.List = Filter(a, Me.ComboBox2.Text, True, vbTextCompare)
' Me.ComboBox2.DropDown
Me.TextBox2 = Sheets("fiche").Range("c" & Me.ComboBox2.ListIndex + 2)
Else
TextBox2 = ""

End If

End Sub
cela ne fonctionne pas
les les valeurs de mon texbox est statique il me donne juste la valeur de la premiere colone
 

Bebere

XLDnaute Barbatruc
bonjour,tu te rends compte que c'est difficile de donner une réponse satisfaisante avec si peu de renseignements
dan une textbox tu ne sais mettre qu'une donnée,à moins que tu veuilles concaténer
qu'y a t'il dans la colonne E et filter est ce une procédure
met un fichier et je t'y mettrai des exemples de code avec explication
 

borain

XLDnaute Nouveau
Bonjour en faite la fiche est la base
tout les véhicules et leur types de consommation sont déjà pré-enregistré
Pour le moment je voulais juste rattraper des saisies donc pour la fiche en elle même n'est pas encore conçu
Je vais rajouter le kilométrage et calculer combien de km pour consommer tel nombre de litre
Bref je suis pas très doué lorsqu'il s'agit d'explication
Mais je te remercie une fois de plus pour ce temps que tu accordé à mon fichier
 

borain

XLDnaute Nouveau
Bonjour en faite la fiche est la base
tout les véhicules et leur types de consommation sont déjà pré-enregistré
Pour le moment je voulais juste rattraper des saisies donc pour la fiche en elle même n'est pas encore conçu
Je vais rajouter le kilométrage et calculer combien de km pour consommer tel nombre de litre
Bref je suis pas très doué lorsqu'il s'agit d'explication
Mais je te remercie une fois de plus pour ce temps que tu accordé à mon fichier
Bonjour en faite la fiche est la base
tout les véhicules et leur types de consommation sont déjà pré-enregistré
Pour le moment je voulais juste rattraper des saisies donc pour la fiche en elle même n'est pas encore conçu
Je vais rajouter le kilométrage et calculer combien de km pour consommer tel nombre de litre
Bref je suis pas très doué lorsqu'il s'agit d'explication
Mais je te remercie une fois de plus pour ce temps que tu accordé à mon fichier
Les données contenu dans la fiche 11 me sera utile pour un tcd
 

Bebere

XLDnaute Barbatruc
Borain
en général il faut créer des listes nom,véhicule,etc et à partir de là on alimente un userform un peu comme maintenant,donne un peu une idée de fiche
edit Je pense que ce serait mieux d'avoir une colonne compteur départ du véhicule et une compteur arrivée et de là calculer les km
 

Bebere

XLDnaute Barbatruc
Bonjour
pour le moment tu peux ajouter ou modifier les données de feuil11
Je pense que pour le n° bon,il faudra ajouter un contrôle
pour dictionary il faut cocher microsoft scripting runtime dans menu outils et choisir références
 

Pièces jointes

  • TestBorain.xlsm
    90.2 KB · Affichages: 0

BOISGONTIER

XLDnaute Barbatruc
Bonjour,

Sur le userform2, j'ai fait ce que vous cherchez à faire (saisie intuitive)
La propriété MatchEntry de ComboBox2 est à None

VB:
Dim a()
Private Sub UserForm_Initialize()
  Set f = Sheets("fiche")
  a = f.Range("e2:e" & f.[e65000].End(xlUp).Row).Value
  Me.ComboBox2.List = a
End Sub

Private Sub ComboBox2_Change()
  Set D1 = CreateObject("Scripting.Dictionary")
  tmp = UCase(Me.ComboBox2) & "*"
  For Each c In a
    If UCase(c) Like tmp Then D1(c) = ""
  Next c
  Me.ComboBox2.List = D1.keys
  Me.ComboBox2.DropDown
End Sub

Private Sub ComboBox2_Click()
  'ActiveCell = Me.ComboBox2
  Unload Me
End Sub

Private Sub ComboBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
'  If KeyCode = 13 Then ActiveCell = Me.ComboBox2: Unload Me
End Sub


Boisgontier
 

Pièces jointes

  • Copie de test.xlsm
    77 KB · Affichages: 6

Discussions similaires

Réponses
6
Affichages
170
Haut Bas