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 :D

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 :
Sub testmois()
moiatbrut = [D4]
MoisNum2 (moiatbrut)
End Sub

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

"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
 

Staple1600

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

Bonsoir à tous

Un petit rappel au passage
Jours de la semaine et mois de l'année

À l'inverse des règles typographiques utilisées en anglais, les noms de jours ou de mois ne prennent pas de majuscule en français.

Le mardi 25 décembre.
Le krach du 24 octobre 1929 est appelé le jeudi noir.
Le dimanche de la Toussaint, le lundi de Pâques et le Vendredi saint (notez la majuscule dans ce dernier exemple, en accord avec la règle typographique pour les fêtes religieuses).
source
 

Discussions similaires

Réponses
3
Affichages
272

Statistiques des forums

Discussions
312 286
Messages
2 086 809
Membres
103 392
dernier inscrit
doc_banane