Bonsoir,
avec ce code du "change" de la combobox date :
Private Sub ComboBox_date_ancienne_Change()
Dim cCTRL As Control
Dim i As Byte, Col As Byte
On Error GoTo pb
With ActiveSheet
lig = .Range("AA:AA").Find(ComboBox_date_ancienne.Value, LookIn:=xlValues, lookat:=xlWhole).Row
Me.TextBox_montant_course = .Cells(lig, "X").Value
Exit Sub
pb:
MsgBox "Date non trouvée"
End With
End Sub
Vous faites une recherche d'un texte car les textbox et combobox sont des texte dans une colonne où les dates sont numériques(normal c'est excel !), il faut spécifier à VBA que la valeur cherchée est une date :
lig = .Range("AA:AA").Find(CDate(ComboBox_date_ancienne.Value), LookIn:=xlValues, lookat:=xlWhole).Row
Après pour revenir sur un commentaire de BrunoM45 vous pourriez écrire le code comme cela :
Private Sub ComboBox_date_ancienne_Change()
Dim lig As Long
On Error GoTo pb
With ActiveSheet
lig = .Range("AA:AA").Find(CDate(ComboBox_date_ancienne.Value), LookIn:=xlValues, lookat:=xlWhole).Row
Me.TextBox_montant_course = .Cells(lig, "X").Value
Exit Sub
End With
pb:
MsgBox "Date non trouvée"
End Sub
C'est plus propre et plus lisible (suppression des DIM inutileset ajout de lig en long !
@ bientôt
LouReeD