Récupérer mois et année d'une cellule date [Résolu/Fermé]

Signaler
-
 bla -
Bonjour,

J'ai un code vba qui va s'appliquer à partir d'une cellule de mon fichier excel.
Dans cette cellule, l'utilisateur va entrer une date sous la forme "jj/mm/aaaa" et j'aimerai récupérer le mois de cette cellule dans une variable M et l'année dans une variable A afin de faire tourner mon programme en fonction de M et A.

Si quelqu'un sait comment faire je le remercie par avance

5 réponses

Messages postés
3341
Date d'inscription
samedi 20 juillet 2013
Statut
Membre
Dernière intervention
9 décembre 2016
475
Bonjour,

Dim M As Integer, A As Integer
M = Month(Range("A1").Value)
A = Year(Range("A1").Value)

A+
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65204 internautes nous ont dit merci ce mois-ci

Messages postés
593
Date d'inscription
mardi 7 avril 2015
Statut
Membre
Dernière intervention
23 juillet 2015
45
Salut,

En VBA, je ne sais pas mais sinon en formule, cela donne :

=TEXTE(A1;"mmmm") pour récupérer le mois
=TEXTE(A1;"aaaa") pour l'année

Cdlt
Oui je sais, d'ailleurs pour le moment je récupère le mois dans une cellule et l'année dans une autre par une formule et j'attribue ces cellules à mes variables M et A.
Ca marche mais j'aurai aimé le faire directement, sans passer par deux cellules intermédiaires.
En tout cas merci pour ton aide
Messages postés
593
Date d'inscription
mardi 7 avril 2015
Statut
Membre
Dernière intervention
23 juillet 2015
45
Ca marche mais j'aurai aimé le faire directement, sans passer par deux cellules intermédiaires.

Euh ... tu as essayé :

=TEXTE(A1;"mmmm")&" "&TEXTE(A1;"aaaa") car là tu concatène et tu passe pas par deux cellules.

Cdlt
Messages postés
177
Date d'inscription
jeudi 21 mai 2015
Statut
Membre
Dernière intervention
29 mai 2015
10
Bonjour,

voir cela :
https://www.excel-downloads.com/threads/extraire-la-partie-texte-dune-cellule-en-vba.113921/
En définitive il faut aller chercher avec la fonction Mid je crois les 4eme et 5eme caractère = au mois les mètrent dans une varaiable "m" et ensuite aller chercher les 7-8-9-10 eme caratères de l'année et les mètrent dans une variable "a"
Messages postés
12359
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
1 juillet 2020
1 915
Bonjour,

Avec la date en A1 :
m = Month(CDate(Range("A1")))
a = Year(CDate(Range("A1")))


Cdlmnt
Via


C'est bon ça marche avec la méthode de Via55 et celle de Gyrus.

Merci à tous pour votre aide.

Cordialement,