Question sur le mois en VBA

Bonjour,

j'ai une toute petite question , si

MsgBox MonthName(9)

renvois septembre , comment est il possible d'obtenir

l'operation inverse , à partir de "septembre" retrouver le numero du mois qui est 9 ?

Merci pour vos réponses

bonjour,

MsgBox Month(Date)

ou encore pour un mois en lettre :

Sub test()

Dim MyDate As Date

MyDate = DateValue(2000 & " septembre " & 1)

MsgBox Month(Date)

End Sub

A+

Merci galopin mais si c'est un mois quelconque ? parce que month(date) renvoi le numero du mois en cours puisqu'on est en septembre .

j'ai pensé à ceci quoi qu"encombrant :

option base 1
t = Array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre")
p = InputBox("saisir le mois en lettre")
For i = 1 To UBound(t)
 If t(i) = p Then
 MsgBox "le numero du mois est :" & i
 End If
Next
End Sub

si il y a pas plus simple ... on fera avec


j'avais pas lu le complement de réponse que tu a proposé , que signifie le "2000" et le "1" dans :

MyDate = DateValue(2000 & " septembre " & 1)

?

merci

bonjour,

DateValue demande 3 paramètres (Année, mois et jour) pour pouvoir convertir cela en string.

A noter d'ailleurs les espaces que j'ai ajoutés autour de " septembre "

Bof, c'est vraiment une solution "capillotractée"

Les utilisateurs un tant soit peu expérimentés utilisent la fonction que tu cites et qu'ils gardent dans leur classeur de macro perso.

C'est quand même plus "sérieux"...

A+

merci à toi

Rechercher des sujets similaires à "question mois vba"