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
 

JHA

XLDnaute Barbatruc
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
 

job75

XLDnaute Barbatruc
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:

C@thy

XLDnaute Barbatruc
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​
 

C@thy

XLDnaute Barbatruc
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
 

Efgé

XLDnaute Barbatruc
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:

C@thy

XLDnaute Barbatruc
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:

Efgé

XLDnaute Barbatruc
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
 
G

Guest

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

Discussions similaires

Réponses
3
Affichages
259

Statistiques des forums

Discussions
312 198
Messages
2 086 143
Membres
103 129
dernier inscrit
Atruc81500