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

formule pour convertir de mois en lettre=en chiffre

lamho27

XLDnaute Occasionnel
bonsoir le forum
je voudrais vous demander on utilise quels formule pour converte de janvier à 1 dans 1 autre celulle
 

Efgé

XLDnaute Barbatruc
Re : formule pour convertir de mois en lettre=en chiffre

Re
Bonjour Hasco
Si j'ai bien compris, c'est l'inverse que cherche Cathy
Tu trouve le mois suivant son chiffre et non le chiffre suivant le mois

Cordialement
 
G

Guest

Guest
Re : formule pour convertir de mois en lettre=en chiffre

Re,

@efgé: au temps pour moi(s)

Alors, si les mois de Cathy s'écrivent avec accents:


Code:
Function MoisNum(strLeMois As String) As Integer
    MoisNum = Month(CDate("1 " & strLeMois & " " & Year(Date)))
End Function

Ou avec swicth:

Code:
Function MoisNum2(ByVal strLeMois As String) As Integer
    strLeMois = LCase(strLeMois)
    MoisNum2 = Switch(strLeMois = "jan", 1, strLeMois = "fév", 2, strLeMois = "mars", 3, strLeMois = "avr", 4, strLeMois = "mai", 5, _
                strLeMois = "juin", 6, strLeMois = "juil", 7, strLeMois = "août", 8, strLeMois = "sept", 9, strLeMois = "oct", 10, strLeMois = "nov", 11, strLeMois = "déc", 12)
End Function

Avec toujours l'avertissement sur l'orthographe du mois.


A+
 

C@thy

XLDnaute Barbatruc
Re : formule pour convertir de mois en lettre=en chiffre

OK, ça marche comme ça :

"mar" et non "mars", et _ à la fin de la ligne

Merciiiiiiiiiiii Hasco!

Bizz

C@thy
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : formule pour convertir de mois en lettre=en chiffre

Bonjour C@thy,le forum,

Une autre pour le fun:
VB:
Function NumMois(x)
'retourne zéro si pas dans liste
NumMois = (InStr(",jan,fév,mar,avr,mai,jun,jui,aoû,sep,oct,nov,déc," _
, "," & x & ",") + 3) \ 4
End Function
 

Staple1600

XLDnaute Barbatruc
Re : formule pour convertir de mois en lettre=en chiffre

Bonsoir à tous


Une autre mais suis pas sur d'avoir compris la question (ni le besoin de passer par VBA ...)
Code:
Function moisalpha(m) As String
moisalpha = Left(Format(DateValue("1/" & m), "mmm"), 3)
End Function
Code:
Sub a()
MsgBox moisalpha(1)
End Sub

EDITION
: Ah , je viens de voir que j'ai pris le truc à l'envers
C'est pas grave Efgé a suivi (plus bas dans le fil) la même logique mais dans l'autre sens
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : formule pour convertir de mois en lettre=en chiffre

Bonsoir C@thy, hello les amis,

Curieux que personne n'ait proposé cette solution vraiment très classique :

Code:
Sub TableauFixe()
Dim m
m = Application.Match([D4], Array("jan", "fev", "mar", "avr", "mai", "jun", "jui", "aoû", "sep", "oct", "nov", "dec"), 0)
If IsNumeric(m) Then MsgBox m
End Sub
A+
 

job75

XLDnaute Barbatruc
Re : formule pour convertir de mois en lettre=en chiffre

Re,

La fonction VBA correspondante :

Code:
Function MonMois(t$)
MonMois = Application.Match(t, Array("jan", "fev", "mar", "avr", "mai", "jun", "jui", "aoû", "sep", "oct", "nov", "dec"), 0)
MonMois = IIf(IsNumeric(MonMois), MonMois, "")
End Function
A+
 

job75

XLDnaute Barbatruc
Re : formule pour convertir de mois en lettre=en chiffre

Re,

Variantes si l'on veut que les accents soient ignorés :

Code:
Sub TableauFixe()
Dim m
m = Replace(Replace([D4].Text, "é", "e"), "û", "u")
m = Application.Match(m, Array("jan", "fev", "mar", "avr", "mai", "jun", "jui", "aou", "sep", "oct", "nov", "dec"), 0)
If IsNumeric(m) Then MsgBox m
End Sub

Function MonMois(t$)
t = Replace(Replace(t, "é", "e"), "û", "u")
MonMois = Application.Match(t, Array("jan", "fev", "mar", "avr", "mai", "jun", "jui", "aou", "sep", "oct", "nov", "dec"), 0)
MonMois = IIf(IsNumeric(MonMois), MonMois, "")
End Function
A+
 

Jack2

XLDnaute Occasionnel
Re : formule pour convertir de mois en lettre=en chiffre

Bonjour tout le monde,

Juste une ligne dans le post n° 26 de Job45 :
Code:
 t = Replace(Replace(t, "é", "e"), "û", "u")
 t = Left(LCase(t), 3)
Pour que les listes ne soient pas limitées (minuscules, majuscules, + de 3 caractères...)

A+ Jack2
 

job75

XLDnaute Barbatruc
Re : formule pour convertir de mois en lettre=en chiffre

Hello Jack2,

Moi c'est Gérard, job75 pour les dames

J'utilise la fonction Match (EQUIV) qui ignore la casse, LCase est donc inutile ici.

A+
 

Staple1600

XLDnaute Barbatruc
Re : formule pour convertir de mois en lettre=en chiffre

Bonsoir à tous

Un petit rappel au passage
source
 

Discussions similaires

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