Bonjour,
31 est toujours renvoyé car vous utilisez l'argument Date dans la fonction EoMonth, qui renvoie la date du jour. Donc il est évident que 31 est renvoyé à chaque fois car les choix des combobox n'ont aucune incidence sur n. Je pense que vous vouliez utiliser MaVar dans la fonction, or il est nécessaire de la transformer légèrement pour convertir une date texte au format numérique.
Un code qui me donne le bon nombre de jour lorsque je debug.print n :
Private Sub CommandButton1_Click()
Dim n, derl As Integer
Dim MaVar
Dim f1 As Worksheet
Set f1 = Worksheets("feuil1")
MaVar = DateValue("01 " & Me.ComboBox1 & " " & Me.ComboBox2) 'Modification apportée ici
f1.Range("A" & Range("A10000").End(xlUp).Row + 1) = MaVar 'Modification apportée ici
n = Day(WorksheetFunction.EoMonth(MaVar, 0)) 'Modification apportée ici
derl = f1.Cells(Rows.Count, 2).End(xlUp).Row
If IsEmpty(f1.Cells(derl, 2)) Then
f1.Cells(derl, 2).Value = TextBox1.Value * n
Else
f1.Cells(derl, 2).Offset(1).Value = TextBox1.Value * n
End If
TextBox1.Value = vbNullString
End Sub
N'ayant le résultat final escompté je vous laisse adapter.
Cdlt,