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)

  • Initiateur de la discussion Initiateur de la discussion reitre
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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:
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
@+
 
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 ?
 
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:
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

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 !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

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