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
 

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:

JCGL

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

Bonjour à tous,
Salut Feutrine ,

Je confirme que la proposition de Feutrine est adéquate...

Bise Feutrine
A+ à tous
 

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]
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
277
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…