mettre le mois du jour en VBA, et non la date du jour (RESOLU)

reitre

XLDnaute Nouveau
Bonjour à tous,

je souhaite mettre le mois du jour dans une cellule excel à chaque ouverture du fichier excel.

Une cellule ("M4:AQ4") a pour valeur ce mois (il s'agit d'une cellule au format "mmmm-aaaa", exemple "juillet-2012").

Sur la ligne du dessous, on compte 31 cellules, toutes en format "=cellule précédente+1"

Donc la cellule M5 = 1/mois/année
la cellule N5= M5+1, soit 2/mois/année
etc : c'est un calendrier.

si je mets dans le VBA la chose suivante :

Code:
Private Sub Workbook_Open()
Range("M4:AQ4").Value = Date

alors mon calendrier commence à la date du jour, et pas au 1er du mois du jour.

Ainsi, la cellule M5 = 20/07/2012 si jamais on est le 20 juillet, et non plus le 1/07/2012.

Y'a-t-il une autre formule que Date pour mettre seulement le mois dans la cellule ("M4:AQ4") ?

Merci de votre attention
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : mettre le mois du jour en VBA, et non la date du jour

Bonjour,

pour renvoyer le mois en alpha, tu peux essayer ceci :
Code:
Range("M4:AQ4").Value = MonthName(Month(Date))

mais pas sûr que ce soit le résultat que tu attends....

bon après midi
@+
 

reitre

XLDnaute Nouveau
Re : mettre le mois du jour en VBA, et non la date du jour

Effectivement, cela n'est pas tout à fait ce que j'attends, puisque l'année n'est pas spécifiée, mon calendrier bugg donc.

J'ai essayé, sur le même modèle

Code:
Range("M4:AQ4").Value = MonthName(Month(Date)) & YearName(Year(Year(Date))

comme tu peux t'en douter, cela ne fonctionne pas. Même si, en infobulle, il reconnait la partie "Year(Date)". On peut peut-etre tenter quelque chose avec ceci ?
 

pijaku

XLDnaute Occasionnel
Re : mettre le mois du jour en VBA, et non la date du jour

Bonjour,

Je penses qu'il convient d'utiliser DateSerial :
Code:
Range("M4").Value = DateSerial(Year(Date), Month(Date), 1)
Question : pourquoi Range("M4:AQ4") ?
 
Dernière édition:

néné06

XLDnaute Accro
Re : mettre le mois du jour en VBA, et non la date du jour

Bonjour le Forum

Si j'ai bien compris ,voici mon exemple:

Private Sub Workbook_Open()
Cells(4, 13) = Format(Date, "mmmm/yyyy")
Z = 1
For h = CDate("01/" & Cells(4, 13)) To CDate("31/" & Cells(4, 13))
Cells(Z + 4, 13) = h
Z = Z + 1
Next h
End Sub

A+
 

Pièces jointes

  • Classeur1.xls
    49.5 KB · Affichages: 61
  • Classeur1.xls
    49.5 KB · Affichages: 66
  • Classeur1.xls
    49.5 KB · Affichages: 63

reitre

XLDnaute Nouveau
Re : mettre le mois du jour en VBA, et non la date du jour

Merci ! C'est cela, sauf que les 31 jours sont sur une ligne horizontale, qui correspondent à l'étendue de la cellule "mois". Mais j'ai pu faire les modifs nécessaires.

A bientot !
 

Discussions similaires

Statistiques des forums

Discussions
314 636
Messages
2 111 460
Membres
111 151
dernier inscrit
KARIMTAPSO