XL 2016 Affichage du mois en toutes lettres via VBA

Sebast

XLDnaute Impliqué
Bonjour à toutes et à tous,
ma question porte sur l'affichage en toutes lettres du mois dont on ne connaît que le rang (1 = janvier, 12 = décembre).
C’est-à-dire que je n'ai pas la date, je ne dispose que du rang du mois et de l'année.
J'ai bricolé une formule, comme visible en colonne D, mais pour diverses raisons, je ne peux à l'avenir procéder que par VBA.
Et donc je ne veux pas non plus passer par une cellule intermédiaire …
Quelqu'un sait-il comment convertir en VBA la formule suivante ?
=NOMPROPRE(TEXTE(DATE(B2;A2;1);"mmmm"))
pour écrire en toutes lettres le mois en colonne F ?
Merci d'avance
 

Pièces jointes

  • Question_VBA_27102021.xlsm
    13.3 KB · Affichages: 4

Robert

XLDnaute Barbatruc
Repose en paix
Bonjour Sebast, bonjour le forum,

Peut-être comme ça :

VB:
Sub Macro1()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim I As Integer 'déclare la variable I (Incrément)
Dim D As Date 'déclare la variable D (Date)

Set O = Worksheets("Tableau") 'définit l'onglet O
DL = O.Cells(Application.Rows.Count, "A").End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne A de l'onglet O
For I = 2 To DL 'boucle sur toutes les lignes de 2 à DL
    D = DateSerial(O.Cells(I, "B"), O.Cells(I, "A"), 1) 'définit la date D (on aurait pu mettre "2021" par exemple au début si on n'avait pas eu l'année et n'importe quelle valeur entre 1 et 28 pour la fin )
    O.Cells(I, "F").Value = Format(D, "mmmm") 'renvoie dans la colonne F la date formatée
Next I 'prochaine ligne de la boucle
End Sub
 

Discussions similaires

Réponses
5
Affichages
191
J
Réponses
4
Affichages
1 K