OVH Cloud OVH Cloud

Meilleure solution sans utiliser VBA

16 réponses
Avatar
Bruno Bourcier
Bonjour à tous,

Je m'explique, dans une cellule M4 je rentre un mois de l'année au format
texte "Janvier" par ex.
et je voudrai que dans la colonne b11:41 s'inscrive 01.
Auriez-vous des exemples sans utiliser le VBA ?

Merci d'avance.

Bruno.

6 réponses

1 2
Avatar
Pierre CFI [mvp]
et oui, curieux mais..
du coup, çà aussi
=MOIS(DATEVAL(1&D3))

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Nicolas B." a écrit dans le message de news:
... Et pour gagner encore 9 caractères :-p
=MOIS(DATEVAL(M$4&"0"))

Excel reconnaît en effet "janvier0" comme 01/01/2000.


--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


Merci Nicolas, ta solution =MOIS(DATEVAL("1 "&M$4&" 2000")) est la
bonne avec le format personnalisé de cellule 00.

Merci a ceux qui ont encore les idées claires après Noel.

Bruno.


"Nicolas B." a écrit dans le
message de news:
Salut Pierre,

Ou alors, toujours celle-ci
=MOIS(DATEVAL("1 "&M$4&" 2000"))
mais avec comme format personnalisé de cellule 00.


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


..../...
=TEXTE("1/" &MOIS(DATEVAL("1 "&$M$4&" 2000"))&"/2000";"mm")
mais çà me parait bien long










Avatar
AV
... Et pour gagner encore 9 caractères :-p
=MOIS(DATEVAL(M$4&"0"))


Pour le smilblick :
La fonction DATEVAL n'a pas une grande utilité :
=MOIS(1*(M$4&"0"))

Me semble que ce type de solution fait appel aux listes persos donc reste une
"solution locale"

AV

Avatar
Nicolas B.
Rrrraaah, et encore deux caractères de moins ;-)

Et toujours pour réduire la formule (en trichant un peu, je le reconnais :-)
ÚTEVAL(1&M$4)
avec comme format de cellule mm.



--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


et oui, curieux mais..
du coup, çà aussi
=MOIS(DATEVAL(1&D3))


Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Nicolas B." a écrit dans le
message de news:
... Et pour gagner encore 9 caractères :-p
=MOIS(DATEVAL(M$4&"0"))

Excel reconnaît en effet "janvier0" comme 01/01/2000.


--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


Merci Nicolas, ta solution =MOIS(DATEVAL("1 "&M$4&" 2000")) est la
bonne avec le format personnalisé de cellule 00.

Merci a ceux qui ont encore les idées claires après Noel.

Bruno.


"Nicolas B." a écrit dans le
message de news:
Salut Pierre,

Ou alors, toujours celle-ci
=MOIS(DATEVAL("1 "&M$4&" 2000"))
mais avec comme format personnalisé de cellule 00.


A+
--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


..../...
=TEXTE("1/" &MOIS(DATEVAL("1 "&$M$4&" 2000"))&"/2000";"mm")
mais çà me parait bien long










Avatar
Nicolas B.
Salut,

Toujours plus court...

Il me semble que le *1 n'est pas nécessaire :
=MOIS(M$4&0)


--
Nicolas B.

Adresse @adresse.bidon.com invalide,
E-mail : www.cerbermail.com/?gAAILfkPsC


... Et pour gagner encore 9 caractères :-p
=MOIS(DATEVAL(M$4&"0"))


Pour le smilblick :
La fonction DATEVAL n'a pas une grande utilité :
=MOIS(1*(M$4&"0"))

Me semble que ce type de solution fait appel aux listes persos donc
reste une "solution locale"

AV



Avatar
Daniel.M
Pierre,

Ça ne fonctionne pas avec une version anglaise d'Excel.
Il comprend pas ce que "février" veut dire.
D'où l'idée de rendre explicites (dans un tableau) les correspondances
noms_de_mois et leur numéro. Ainsi, peu importe la version, ça fonctionnera.

Salutations,

Daniel M.

"Pierre CFI [mvp]" wrote in message
news:%
ou
=TEXTE("1 " &$M$4&" 2000";"mm")

--
Pierre CFI




Avatar
AV
Il me semble que le *1 n'est pas nécessaire :


C'est pour imager l'exemple de remplacement de la fonction DATEVAL
Excel sait interpréter le texte si on le soumet à une quelconque opération
"neutre" arithmétique
=("26/12/2004")*1
plutôt que
ÚTEVAL("26/12/2004")

Il n'en reste pas moins (voir réponse précédente et réponse Daniel) qu'on est
strictement dans des solutions franco-françaises !

AV

1 2