Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

num mois en mois texte

10 réponses
Avatar
Patrick L
bonjour
Comment faire simplement, ou existe t il une macro pour qu'en fonction d'un
nombre 1 (à 12) dans une cellule mettre dans une autre cellule le mois en
texte
Merci de vos réponses.

10 réponses

Avatar
Rai
Bonsoir,

Une solution parmi d'autres, mais qui a le mérite d'être simple :
pour les cellules sélectionnées : Format/Cellule / Format personnalisé : mmmm

Ca répond à ta demande ?

Bonne soirée

Rai

"Patrick L" a écrit dans le message de news:
bonjour
Comment faire simplement, ou existe t il une macro pour qu'en fonction d'un
nombre 1 (à 12) dans une cellule mettre dans une autre cellule le mois en
texte
Merci de vos réponses.




Avatar
Benead
Salut Patrick

Tu peux utiliser entre autres l'une de ces deux formules, A1 étant ton mois :

=CHOISIR(A1;"Janvier";"Février";"Mars";"Avril";"Mai";"Juin";"Juillet";"Aout";"Septembre";"Octobre";"Novembre";"Décembre")
=NOMPROPRE(TEXTE(DATE(2004;A1;1);"mmmm"))

A+
Benead
XL97

Patrick L a écrit:
bonjour
Comment faire simplement, ou existe t il une macro pour qu'en fonction d'un
nombre 1 (à 12) dans une cellule mettre dans une autre cellule le mois en
texte
Merci de vos réponses.




Avatar
ru-th
Salut

tu peux raccourcir la seconde,
=texte("1/"&A1;"mmmm")
;-)
--
a+
rural thierry
Veaux et Broutards d'Anjou
Wicasa on kin nape yapi inahni yo (à l'essai)

"Benead" a écrit dans le message de
news:
Salut Patrick

Tu peux utiliser entre autres l'une de ces deux formules, A1 étant ton
mois :

=CHOISIR(A1;"Janvier";"Février";"Mars";"Avril";"Mai";"Juin";"Juillet";"Aout";"Septembre";"Octobre";"Novembre";"Décembre")
=NOMPROPRE(TEXTE(DATE(2004;A1;1);"mmmm"))

A+
Benead
XL97

Patrick L a écrit:
bonjour
Comment faire simplement, ou existe t il une macro pour qu'en fonction
d'un nombre 1 (à 12) dans une cellule mettre dans une autre cellule le
mois en texte
Merci de vos réponses.







Avatar
Benead
Salut Thierry,
J'y comprend rien du tout, je vois pas comment "1/12" en format mmmm peut donner Décembre alors que 1/12 sans les ""
donne Janvier. Moi et les formules...

A+
Benead
XL97

ru-th a écrit:
Salut

tu peux raccourcir la seconde,
=texte("1/"&A1;"mmmm")
;-)


Avatar
JièL Goubert
Bonjoir(c) Benead

parceque sans les "" ça fait 1 divisé par 12, donc 0,0833333333333333 et
Excel ne peut avoir de mois 0, donc il "arrondi" à 1 pour Janvier

Alors qu'avec les "" c'est le bout de date 1/12 et Excel ajoute l'année
courante

--
JièL / Jean-Louis GOUBERT
La FAQ Outlook est la : http://faq.outlook.free.fr/
*** ENQUETE SUR LES NEWSGROUPS MICROSOFT FRANCOPHONES ***
http://collecxia.microsoft.fr/formulaires/forms/enquetenewsgroupfy04/

Le 11/12/2004 00:12 vous avez écrit ceci :
Salut Thierry,
J'y comprend rien du tout, je vois pas comment "1/12" en format mmmm
peut donner Décembre alors que 1/12 sans les "" donne Janvier. Moi et
les formules...

A+
Benead
XL97

ru-th a écrit:

Salut

tu peux raccourcir la seconde,
=texte("1/"&A1;"mmmm")
;-)




Avatar
Benead
Mais bien sur,

Merci Jiel, je n'avais pas fait le rapprochement avec un début de date 8<((

Benead

JièL Goubert a écrit:
Bonjoir(c) Benead

parceque sans les "" ça fait 1 divisé par 12, donc 0,0833333333333333 et
Excel ne peut avoir de mois 0, donc il "arrondi" à 1 pour Janvier

Alors qu'avec les "" c'est le bout de date 1/12 et Excel ajoute l'année
courante



Avatar
michdenis
Bonsoir Benead,

A )
Si tu inscris dans une cellule =1/12 excel affiche 0,0833333333333333
Ceci c'est une valeur numérique. Si tu allais dans le menu cellule / format / nombre ) et que
tu donnais ce format personnalisé à la cellule jj/mm/aa hh:m:ss , la cellule afficherait 00/01/1900 02:00:00 si ton
calendrier est celui de 1900. Donc 2 heures le 1 janvier 1900. (cette date est le jour 1 pour excel ...! )

Comme il y a 24 heures dans une journée, 1/12 = 2 heures ça semble tout à fait correct. ;-))

Il n'est pas surprenant alors que si tu utilises la formule =TEXTE(1/12;"mmmm") qu'excel te retourne le mois de janvier.
et si tu écrivais =TEXTE(32;"mmmm") , il retournerait "Février" soit le 32 ième jour du début de l"ère" excel !

B )
=texte("1/"&A1;"mmmm") ... Ceci réfère à la capacité excel à détecter tout seul un format date.
Si tu entres dans une cellule 1/12 (sans le signe = ou +) excel transforme cela en date ... et comme l'année n'y figure
pas il y considère que c'est l'année en cours qui est en vigueur

Si tu entres Décembre 2004 , il transforme par le format en format court du panneau de configuration déc-04 (c'est
selon) et cela fait référence au 1 du mois en cours soit le 1 décembre 2004.

Certains ont des explications plus ésotériques ! ;-)))


Salutations!







"Benead" a écrit dans le message de news:
Mais bien sur,

Merci Jiel, je n'avais pas fait le rapprochement avec un début de date 8<((

Benead

JièL Goubert a écrit:
Bonjoir(c) Benead

parceque sans les "" ça fait 1 divisé par 12, donc 0,0833333333333333 et
Excel ne peut avoir de mois 0, donc il "arrondi" à 1 pour Janvier

Alors qu'avec les "" c'est le bout de date 1/12 et Excel ajoute l'année
courante



Avatar
Benead
Bonsoir Denis,

Merci Denis pour ce complément d'informations. Il faut dire que cela me semble logique ce soir mais ne l'était pas cette
nuit, je marchais au ralenti.
Ceci dit, en fonction du paramétrage du panneau de configuration des différentes stations, entre la manière différente
dont Excel gère les dates que tu sois en saisie dans une cellule ou en VBA, entre la façon différente dont Excel gère
l'ouverture de certains fichiers, les .dif par exemple, que tu l'ouvres à partir de l'explorateur ou à partir d'Excel...
Par exemple, l'autre jour je voulais enregistrer une date de validation dans une propriété "Validée le " d'un classeur
avec le type 'Créé le ', je n'ai pas réussi à rentrer une date correcte au format "jj/mm/aaaa hh:mm:ss", que se soit par
macro ou en manuel, l'heure n'est pas acceptée. Je suis donc passer au Type texte en y mettant la valeur a Now() et le
format devient "jj/mm/aaaa hh:mm:ss PM" ce qui ne ne plait pas du tout. Pour couper court, j'ai donc dû rajouter
format(now(), "jj/mm/aaaa hh:mm:ss")... C'est quand même un peu pénible par moment.

Ceci dit, merci encore pour l'explication et merci également pour ta réponse de l'autre jour sur les ActiveX.

A+
Benead
XL97

michdenis a écrit:
Bonsoir Benead,

A )
Si tu inscris dans une cellule =1/12 excel affiche 0,0833333333333333
Ceci c'est une valeur numérique. Si tu allais dans le menu cellule / format / nombre ) et que
tu donnais ce format personnalisé à la cellule jj/mm/aa hh:m:ss , la cellule afficherait 00/01/1900 02:00:00 si ton
calendrier est celui de 1900. Donc 2 heures le 1 janvier 1900. (cette date est le jour 1 pour excel ...! )

Comme il y a 24 heures dans une journée, 1/12 = 2 heures ça semble tout à fait correct. ;-))

Il n'est pas surprenant alors que si tu utilises la formule =TEXTE(1/12;"mmmm") qu'excel te retourne le mois de janvier.
et si tu écrivais =TEXTE(32;"mmmm") , il retournerait "Février" soit le 32 ième jour du début de l"ère" excel !

B )
=texte("1/"&A1;"mmmm") ... Ceci réfère à la capacité excel à détecter tout seul un format date.
Si tu entres dans une cellule 1/12 (sans le signe = ou +) excel transforme cela en date ... et comme l'année n'y figure
pas il y considère que c'est l'année en cours qui est en vigueur

Si tu entres Décembre 2004 , il transforme par le format en format court du panneau de configuration déc-04 (c'est
selon) et cela fait référence au 1 du mois en cours soit le 1 décembre 2004.

Certains ont des explications plus ésotériques ! ;-)))


Salutations!







"Benead" a écrit dans le message de news:
Mais bien sur,

Merci Jiel, je n'avais pas fait le rapprochement avec un début de date 8<((

Benead

JièL Goubert a écrit:

Bonjoir(c) Benead

parceque sans les "" ça fait 1 divisé par 12, donc 0,0833333333333333 et
Excel ne peut avoir de mois 0, donc il "arrondi" à 1 pour Janvier

Alors qu'avec les "" c'est le bout de date 1/12 et Excel ajoute l'année
courante









Avatar
michdenis
Bonjour Benead,

IL faut faire attention de ne pas mélanger la fonction "Format" qui relève de la bibliothèque VBA et s'applique dans le
language VBA seulement et, le Formatage des cellules d'une feuille de calcul utilisant la méthode "NumberFormat" ou
"NumberFormatLocal" de l'objet "Range" et qui relève de la bibliothèque Excel.

Lorsque le contenu d'une variable est transféré à une cellule d'une feuille de calcul, seulement la valeur de la
variable est transmise à la cellule et non le format de cette dernière.

Si tu utilises le type "Date" pour définir une variable :

Dim LaDate As Date
LaDate = "12 décembre 2004"

Le format de ladate prend le format court de la date définie dans le panneau de configuration : 12/12/04 ...même si tu
utilisais ceci :
LaDate = Format(LaDate, "dd mmmm yyyy")
Le format de la date serait : 12/12/04
donc inutile d'utiliser le format date ... à moins d'utiliser une variable de type "String" pour contenir le format date
retournée

Dim MaDate as string
Madate = Format(LaDate, "dd mmmm yyyy")
MaDate = 12 décembre 2004


Salutations!






"Benead" a écrit dans le message de news:
Bonsoir Denis,

Merci Denis pour ce complément d'informations. Il faut dire que cela me semble logique ce soir mais ne l'était pas cette
nuit, je marchais au ralenti.
Ceci dit, en fonction du paramétrage du panneau de configuration des différentes stations, entre la manière différente
dont Excel gère les dates que tu sois en saisie dans une cellule ou en VBA, entre la façon différente dont Excel gère
l'ouverture de certains fichiers, les .dif par exemple, que tu l'ouvres à partir de l'explorateur ou à partir d'Excel...
Par exemple, l'autre jour je voulais enregistrer une date de validation dans une propriété "Validée le " d'un classeur
avec le type 'Créé le ', je n'ai pas réussi à rentrer une date correcte au format "jj/mm/aaaa hh:mm:ss", que se soit par
macro ou en manuel, l'heure n'est pas acceptée. Je suis donc passer au Type texte en y mettant la valeur a Now() et le
format devient "jj/mm/aaaa hh:mm:ss PM" ce qui ne ne plait pas du tout. Pour couper court, j'ai donc dû rajouter
format(now(), "jj/mm/aaaa hh:mm:ss")... C'est quand même un peu pénible par moment.

Ceci dit, merci encore pour l'explication et merci également pour ta réponse de l'autre jour sur les ActiveX.

A+
Benead
XL97

michdenis a écrit:
Bonsoir Benead,

A )
Si tu inscris dans une cellule =1/12 excel affiche 0,0833333333333333
Ceci c'est une valeur numérique. Si tu allais dans le menu cellule / format / nombre ) et que
tu donnais ce format personnalisé à la cellule jj/mm/aa hh:m:ss , la cellule afficherait 00/01/1900 02:00:00 si
ton
calendrier est celui de 1900. Donc 2 heures le 1 janvier 1900. (cette date est le jour 1 pour excel ...! )

Comme il y a 24 heures dans une journée, 1/12 = 2 heures ça semble tout à fait correct. ;-))

Il n'est pas surprenant alors que si tu utilises la formule =TEXTE(1/12;"mmmm") qu'excel te retourne le mois de
janvier.
et si tu écrivais =TEXTE(32;"mmmm") , il retournerait "Février" soit le 32 ième jour du début de l"ère" excel !

B )
=texte("1/"&A1;"mmmm") ... Ceci réfère à la capacité excel à détecter tout seul un format date.
Si tu entres dans une cellule 1/12 (sans le signe = ou +) excel transforme cela en date ... et comme l'année n'y
figure
pas il y considère que c'est l'année en cours qui est en vigueur

Si tu entres Décembre 2004 , il transforme par le format en format court du panneau de configuration déc-04 (c'est
selon) et cela fait référence au 1 du mois en cours soit le 1 décembre 2004.

Certains ont des explications plus ésotériques ! ;-)))


Salutations!







"Benead" a écrit dans le message de news:

Mais bien sur,

Merci Jiel, je n'avais pas fait le rapprochement avec un début de date 8<((

Benead

JièL Goubert a écrit:

Bonjoir(c) Benead

parceque sans les "" ça fait 1 divisé par 12, donc 0,0833333333333333 et
Excel ne peut avoir de mois 0, donc il "arrondi" à 1 pour Janvier

Alors qu'avec les "" c'est le bout de date 1/12 et Excel ajoute l'année
courante









Avatar
Benead
Ce n'était pas le cas de mon exemple précédent, mais il faut que je vérifie certaines de mes procédures par rapport à ce
que tu viens de me préciser.

Merci,
Benead

michdenis a écrit:
Bonjour Benead,

IL faut faire attention de ne pas mélanger la fonction "Format" qui relève de la bibliothèque VBA et s'applique dans le
language VBA seulement et, le Formatage des cellules d'une feuille de calcul utilisant la méthode "NumberFormat" ou
"NumberFormatLocal" de l'objet "Range" et qui relève de la bibliothèque Excel.

Lorsque le contenu d'une variable est transféré à une cellule d'une feuille de calcul, seulement la valeur de la
variable est transmise à la cellule et non le format de cette dernière.

Si tu utilises le type "Date" pour définir une variable :

Dim LaDate As Date
LaDate = "12 décembre 2004"

Le format de ladate prend le format court de la date définie dans le panneau de configuration : 12/12/04 ...même si tu
utilisais ceci :
LaDate = Format(LaDate, "dd mmmm yyyy")
Le format de la date serait : 12/12/04
donc inutile d'utiliser le format date ... à moins d'utiliser une variable de type "String" pour contenir le format date
retournée

Dim MaDate as string
Madate = Format(LaDate, "dd mmmm yyyy")
MaDate = 12 décembre 2004


Salutations!






"Benead" a écrit dans le message de news:
Bonsoir Denis,

Merci Denis pour ce complément d'informations. Il faut dire que cela me semble logique ce soir mais ne l'était pas cette
nuit, je marchais au ralenti.
Ceci dit, en fonction du paramétrage du panneau de configuration des différentes stations, entre la manière différente
dont Excel gère les dates que tu sois en saisie dans une cellule ou en VBA, entre la façon différente dont Excel gère
l'ouverture de certains fichiers, les .dif par exemple, que tu l'ouvres à partir de l'explorateur ou à partir d'Excel...
Par exemple, l'autre jour je voulais enregistrer une date de validation dans une propriété "Validée le " d'un classeur
avec le type 'Créé le ', je n'ai pas réussi à rentrer une date correcte au format "jj/mm/aaaa hh:mm:ss", que se soit par
macro ou en manuel, l'heure n'est pas acceptée. Je suis donc passer au Type texte en y mettant la valeur a Now() et le
format devient "jj/mm/aaaa hh:mm:ss PM" ce qui ne ne plait pas du tout. Pour couper court, j'ai donc dû rajouter
format(now(), "jj/mm/aaaa hh:mm:ss")... C'est quand même un peu pénible par moment.

Ceci dit, merci encore pour l'explication et merci également pour ta réponse de l'autre jour sur les ActiveX.

A+
Benead
XL97

michdenis a écrit:

Bonsoir Benead,

A )
Si tu inscris dans une cellule =1/12 excel affiche 0,0833333333333333
Ceci c'est une valeur numérique. Si tu allais dans le menu cellule / format / nombre ) et que
tu donnais ce format personnalisé à la cellule jj/mm/aa hh:m:ss , la cellule afficherait 00/01/1900 02:00:00 si
ton
calendrier est celui de 1900. Donc 2 heures le 1 janvier 1900. (cette date est le jour 1 pour excel ...! )

Comme il y a 24 heures dans une journée, 1/12 = 2 heures ça semble tout à fait correct. ;-))

Il n'est pas surprenant alors que si tu utilises la formule =TEXTE(1/12;"mmmm") qu'excel te retourne le mois de
janvier.
et si tu écrivais =TEXTE(32;"mmmm") , il retournerait "Février" soit le 32 ième jour du début de l"ère" excel !

B )
=texte("1/"&A1;"mmmm") ... Ceci réfère à la capacité excel à détecter tout seul un format date.
Si tu entres dans une cellule 1/12 (sans le signe = ou +) excel transforme cela en date ... et comme l'année n'y
figure
pas il y considère que c'est l'année en cours qui est en vigueur

Si tu entres Décembre 2004 , il transforme par le format en format court du panneau de configuration déc-04 (c'est
selon) et cela fait référence au 1 du mois en cours soit le 1 décembre 2004.

Certains ont des explications plus ésotériques ! ;-)))


Salutations!







"Benead" a écrit dans le message de news:

Mais bien sur,

Merci Jiel, je n'avais pas fait le rapprochement avec un début de date 8<((

Benead

JièL Goubert a écrit:


Bonjoir(c) Benead

parceque sans les "" ça fait 1 divisé par 12, donc 0,0833333333333333 et
Excel ne peut avoir de mois 0, donc il "arrondi" à 1 pour Janvier

Alors qu'avec les "" c'est le bout de date 1/12 et Excel ajoute l'année
courante