Bonjour,
Je ne suis vraiment pas sûr de comprendre mais testes ce code et reviens :
Sub cbvalider_Click()
Dim Plage As Range
Dim Cel As Range
With Worksheets("Feuil2"): Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)): End With
Set Cel = Plage.Find("Cat" & cbotestList.Text, , xlValues, xlWhole)
If Cel Is Nothing Then MsgBox "La catégorie n'a pas été trouvée !": Exit Sub
'si toutes les cellules sont vides sous la catégorie, défini la cellule du dessous sinon,la cellule sous la dernière remplie
If Cel.Offset(1).Value <> "" Then Set Cel = Cel.End(xlDown).Offset(1) Else Set Cel = Cel.Offset(1)
'inscrit la valeur...
Cel.Value = Me.TextBox1.Text
'...et insère une ligne vide de façon à ce qu'il y en ait toujours une en fin de catégorie
Set Cel = Cel.Offset(1)
Cel.EntireRow.Insert
MsgBox ("La nouvelle dépense " & UserForm1.TextBox1.Value & " à bien été ajouté")
Me.TextBox1.Value = ""
Me.cbotestList.Value = ""
End Sub