XL 2019 Fonction Fin.Mois en vba

patrick2a

XLDnaute Nouveau
Bonjour à tous,
J'ai un formulaire avec 2 textbox.
Dans la première je saisis une date, je voudrais que la seconde affiche la date + 30 jours fin de mois après la sortie de la première.
J'ai essayé avec Application.WorksheetFunction.EOMONTH mais sans succès.

Je vous remercie pour votre collaboration.

Corialement
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Patrick,
Un essai en PJ qui à, l'air de marcher avec :
VB:
Sub Essai()
For L = 2 To 43
    Cells(L, "B") = Application.EoMonth(Cells(L, "A"), 1)
Next L
End Sub
 

Pièces jointes

  • FinMois.xlsm
    13.7 KB · Affichages: 6

sylvanu

XLDnaute Barbatruc
Supporter XLD
Re, Bonjour Dranreb,
Comme quoi une PJ peut être importante.
Votre problème est que le VBA ne connait que le format américain des dates ( mm/dd/yyyy )
Or votre textbox est remplie avec un format européen ( dd/mm/yyyy ), donc ça ne peut pas marcher.
En PJ un essai. Un appui sur Essai ouvre le userform, on rempli la date on appuie sur OK et la date fin de mois s'affiche grâce à :
Code:
Private Sub BOK_Click()
    On Error GoTo Fin
    Dat = TextBox1.Value                                            ' Récupère date de textbox1
    R = Month(Dat) & "/" & Day(Dat) & "/" & Year(Dat)               ' Remet au format américain
    DateFinMois = Format(Application.EoMonth(R, 1), "dd/mm/yyyy")   ' Affiche dat fin de mois format européen
Fin:
End Sub
Evidemment j'ai supposé que vous renriez la date en format 20/04/2022 et non 04/20/2022.
 

Pièces jointes

  • Echéances1.xlsm
    15.3 KB · Affichages: 8

Statistiques des forums

Discussions
312 180
Messages
2 085 995
Membres
103 082
dernier inscrit
adri77