Remplir TextBox selon 2 ComboBox

Bonjour et Bonne année à tous,

N'ayant pas beaucoup d'expérience avec VBA j'ai recherché sur Internet différent tutoriel pouvant m'aiguiller dans la saisie des codes, je suis cependant arrive à une impasse:

J'ai crée un formulaire composé de 2 ComboBox dont les informations proviennent d'un tableau excel et d'une TextBox.

La 1ère ComboBox me donne le nom d'un produit qui est situé sur la colonne A du tableau sur 176 lignes, la seconde me donne la période, 31/12/17, 31/12/18 et 31/12/18, et dans ce tableau se trouve le prix des différents produit selon la date, j'aimerai que lorsque le produit est sélectionner ainsi que la date la TextBox me donne le prix du produit, voici la formule que j'ai utilisé:

Private Sub CommandButton1_Click()

Set Ws = Sheets("Prix ")

Dim ligne As Long

If Me.ComboBox1.ListIndex = -1 And Me.ComboBox2.Value = "31/12/2017" Then

ligne = Me.ComboBox1.ListIndex + 3

Me.TextBox1 = Ws.Cells(ligne, "B")

ElseIf Me.ComboBox1.ListIndex = -1 And Me.ComboBox2.Value = "31/12/2018" Then

ligne = Me.ComboBox1.ListIndex + 3

Me.TextBox1 = Ws.Cells(ligne, "D")

ElseIf Me.ComboBox1.ListIndex = -1 And Me.ComboBox2.Value = "31/12/2019" Then

ligne = Me.ComboBox1.ListIndex + 3

Me.TextBox1 = Ws.Cells(ligne, "F")

Else

MsgBox ("Pas d'informations disponible")

End If

End Sub

Cependant seul la message box s'affiche. Si quelqu'un aurait une idée je leur en serai très reconnaissant.

BOnjour,

Sans fichier c'est plus dificile de tester et de vérifier le paramètre des combobox

Private Sub CommandButton1_Click()

Dim wb As Workbook: Set wb = ThisWorkbook

Dim ws As Worksheet

Set ws = wb.Sheets("Prix")

'Set Ws = Sheets("Prix ")

Dim ligne As Long

If Me.ComboBox1.ListIndex = -1 And Me.ComboBox2.Value = "31/12/2017" Then

Cette condition c'est si combobox1 est vide ….. dans ce cas pourquoi ligne = Me.ComboBox1.ListIndex + 3 ?

ligne = Me.ComboBox1.ListIndex + 3

Me.TextBox1 = Ws.Cells(ligne, "B") pas sur avec la formulation "B" et la fonction Cells B colonne 2

Textbox1.value=Ws.Cells(ligne, 2).Value

ElseIf Me.ComboBox1.ListIndex = -1 And Me.ComboBox2.Value = "31/12/2018" Then

ligne = Me.ComboBox1.ListIndex + 3

Me.TextBox1 = Ws.Cells(ligne, "D")

ElseIf Me.ComboBox1.ListIndex = -1 And Me.ComboBox2.Value = "31/12/2019" Then

ligne = Me.ComboBox1.ListIndex + 3

Me.TextBox1 = Ws.Cells(ligne, "F")

Else

MsgBox ("Pas d'informations disponible")

End If

End Sub

Le reste du code je comprend toujours pas pourquoi il se calcul uniquement si Combobox1 = vide

Si listIndex = -1 alors tu n'as pas besoin de la combobox1 alors ?

Voila le fichier en question.

A oui alors un peu différent ; je ferai plutôt des messages box pour obliger l'utilisateur a faire une

selection et ne pas laisser une combobox vide.

Private Sub CommandButton1_Click()
Dim Maligne As Long
Dim Macolonne As Long

If ComboBox1.ListIndex = -1 Then
MsgBox ("Vous devez selectionner un article")
Exit Sub
End If
If ComboBox2.ListIndex = -1 Then
MsgBox ("Vous devez selectionne une période")
Exit Sub
End If

Maligne = ComboBox1.ListIndex + 3
Macolonne = ComboBox2.ListIndex + 2
TextBox1.Value = Worksheets("Prix et Dividendes").Cells(Maligne, Macolonne).Value

End Sub

Merci beaucoup ça marche parfaitement

Merci beaucoup ça marche parfaitement

Faudra quand même corriger la faute d'orthographe : ("Vous devez selectionner une période")

Rechercher des sujets similaires à "remplir textbox combobox"