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: 7

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

Discussions similaires

  • Résolu(e)
Microsoft 365 Formule FIN.MOIS
Réponses
14
Affichages
772
Réponses
16
Affichages
728
Réponses
17
Affichages
1 K
Réponses
11
Affichages
603

Statistiques des forums

Discussions
315 111
Messages
2 116 340
Membres
112 720
dernier inscrit
henri marc michel