formule pour convertir de mois en lettre=en chiffre

  • Initiateur de la discussion Initiateur de la discussion lamho27
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

Bonsoir Lamho, le forum,

Pour ecrire "Janvier" mettre 01/01/2008 dans une cellule est mettre format de cellule "mmmm"
POur avoir janvier en 1 format cellule "m"

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

Bonsoir,
J'écris en B1 :
=MOIS(DATEVAL("1 "&A1))
A+

edit : (un espace après le 1). Mais Feutrine a raison, sa formule est la plus simple.
 
Dernière édition:
Re : formule pour convertir de mois en lettre=en chiffre


Date d'inscription mars 2005Localisation PARISMessages 2 514UtiliseExcel 2003 (PC)
[h=2]
icon1.png
Re : formule pour convertir de mois en lettre=en chiffre[/h]
Bonjour les amis,

je m'invite dans la discussion.

Je souhaiterais la même chose, mais en VBA.

Le code

Code:
If moiatbrut = "jan" Then
                               moiat = 1
                            ElseIf moiatbrut = "fev" Then
                               moiat = 2
                            ElseIf moiatbrut = "mar" Then
                               moiat = 3
                            ElseIf moiatbrut = "avr" Then
                               moiat = 4
                            ElseIf moiatbrut = "mai" Then
                               moiat = 5
                            ElseIf moiatbrut = "jun" Then
                               moiat = 6
                            ElseIf moiatbrut = "jui" Then
                                moiat = 7
                            ElseIf moiatbrut = "aoû" Then
                               moiat = 8
                            ElseIf moiatbrut = "sep" Then
                               moiat = 9
                            ElseIf moiatbrut = "oct" Then
                               moiat = 10
                            ElseIf moiatbrut = "nov" Then
                               moiat = 11
                            ElseIf moiatbrut = "dec" Then
                               moiat = 12
                            End If


est plutôt inélégant.

Je souhaiterais rendre ça plus "propre" et plus efficace.

Merci pour vos idées.

C@thy​
 
Re : formule pour convertir de mois en lettre=en chiffre

P.S. Au passage la formule de Feutrine renvoie 1 si A1 est vide...

et, la fonction TEXTE, comme son nom l'indique, revoie du texte, pas du chiffre...

@+

C@thy
 
Re : formule pour convertir de mois en lettre=en chiffre

Bonjour Cathy 🙂
Une proposition
Si Tst est vide cela renvoi 1

VB:
Sub Cathy_Date()
Dim Tst$
Tst = "Janv"
MsgBox Format(DateValue("01 " & Tst & " 2000"), "m")
End Sub


Attention de bien laisser les espaces après le jour et avant l'année.
Cordialement

EDIT
Cela ne fonctionne qu'avec des mois Français. Jui pour Juin Juil pour Juillet et Déc pas dec.
 
Dernière édition:
Re : formule pour convertir de mois en lettre=en chiffre

A améliorer :

Code:
Sub TableauFixe()
 Dim Mois(12) As String
   Dim i As Integer

   dataccess = [D4]
   Mois(1) = "jan": Mois(2) = "fev": Mois(3) = "mar": Mois(4) = "avr": Mois(5) = "mai": Mois(6) = "jun": Mois(7) = "jui": Mois(8) = "aoû": Mois(9) = "sep": Mois(10) = "oct": Mois(11) = "nov": Mois(12) = "dec"
   'Boucle sur les éléments du tableau pour lire leur contenu
   For i = 1 To 12
      If Mois(i) = dataccess Then
        moiat = i
        MsgBox moiat
        Exit For
      End If
   Next i
End Sub

C@thy
 
Dernière édition:
Re : formule pour convertir de mois en lettre=en chiffre

Re
Alors une propsition qui t'évite la boucle i
VB:
Sub Cathy_Date_2()
Dim D As Object, Tst$
Set D = CreateObject("Scripting.dictionary")
D("jan") = 1: D("fev") = 2: D("mar") = 3
D("avr") = 4: D("mai") = 5: D("jun") = 6
D("jui") = 7: D("aoû") = 8: D("sep") = 9
D("oct") = 10: D("nov") = 11: D("dec") = 12

Tst = "dec"

MsgBox D(Tst)
End Sub

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

Bonjour le fil,

@Cathy:
Code:
Function LeMoisLettres(iMois As Integer)
If iMois > 0 And iMois < 13 Then
    LeMoisLettres = Array("jan", "fév", "mar", "avr", "mai", "juin", "juil", "août", "sept", "oct", "nov", "déc")(iMois-1)
Else
    LeMoisLettres = CVErr(xlErrValue)
End If
End Function

J'ai mis des accents aux noms des mois qui en comportent🙂

A+
 
Dernière modification par un modérateur:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
242
Retour