Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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

Réponses
5
Affichages
227
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…