Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Laurent Longre
avec la fonction Format(date, "mmmm") j'obtiens le libellé du mois en langue française, comment obtenir le libellé anglais ? ou allemand ?
Pour l'anglais :
Function D_ENG(D As Long, Optional Format As String) As String ' L. Longre MPFE If Format = "" Then Format = "dd mmmm yyyy" D_ENG = Evaluate("TEXT(" & D & ",""" & Format & """)") End Function
Sub Test() MsgBox D_ENG(CDate("22/01/1968"), "mmmm") End Sub
Pour l'allemand, il faudrait faire une fonction dédiée de traduction. Si tu veux uniquement au format "mmmm" :
Function D_DEUTSCH(D As Long) As String D_DEUTSCH = Array("Januar", "Februar", "März", "April", "Mai", _ "Juni", "Juli", "August", "September", "Oktober", _ "November", "Dezember")(Month(D) - 1) End Function
Sub Test() MsgBox D_DEUTSCH(CDate("22/01/1968")) End Sub
Cordialement,
Laurent
avec la fonction Format(date, "mmmm") j'obtiens le libellé du mois en langue
française, comment obtenir le libellé anglais ? ou allemand ?
Pour l'anglais :
Function D_ENG(D As Long, Optional Format As String) As String
' L. Longre MPFE
If Format = "" Then Format = "dd mmmm yyyy"
D_ENG = Evaluate("TEXT(" & D & ",""" & Format & """)")
End Function
Sub Test()
MsgBox D_ENG(CDate("22/01/1968"), "mmmm")
End Sub
Pour l'allemand, il faudrait faire une fonction dédiée de traduction. Si tu veux
uniquement au format "mmmm" :
Function D_DEUTSCH(D As Long) As String
D_DEUTSCH = Array("Januar", "Februar", "März", "April", "Mai", _
"Juni", "Juli", "August", "September", "Oktober", _
"November", "Dezember")(Month(D) - 1)
End Function
Sub Test()
MsgBox D_DEUTSCH(CDate("22/01/1968"))
End Sub
avec la fonction Format(date, "mmmm") j'obtiens le libellé du mois en langue française, comment obtenir le libellé anglais ? ou allemand ?
Pour l'anglais :
Function D_ENG(D As Long, Optional Format As String) As String ' L. Longre MPFE If Format = "" Then Format = "dd mmmm yyyy" D_ENG = Evaluate("TEXT(" & D & ",""" & Format & """)") End Function
Sub Test() MsgBox D_ENG(CDate("22/01/1968"), "mmmm") End Sub
Pour l'allemand, il faudrait faire une fonction dédiée de traduction. Si tu veux uniquement au format "mmmm" :
Function D_DEUTSCH(D As Long) As String D_DEUTSCH = Array("Januar", "Februar", "März", "April", "Mai", _ "Juni", "Juli", "August", "September", "Oktober", _ "November", "Dezember")(Month(D) - 1) End Function
Sub Test() MsgBox D_DEUTSCH(CDate("22/01/1968")) End Sub
Cordialement,
Laurent
Laurent Longre
Re !
avec la fonction Format(date, "mmmm") j'obtiens le libellé du mois en langue française, comment obtenir le libellé anglais ? ou allemand ?
J'ai failli oublier les API ! ;-)
Un exemple dans la procédure Test ci-dessous (si tu ne veux que le nom du mois, utilise le format "MMMM").
Cordialement,
Laurent
'========================================== Private Type SYSTEMTIME wYear As Integer wMonth As Integer wDayOfWeek As Integer wDay As Integer wHour As Integer wMinute As Integer wSecond As Integer wMilliseconds As Integer End Type
Private Declare Function GetDateFormat Lib "Kernel32" Alias "GetDateFormatA" _ (ByVal Locale As Long, ByVal dwFlags As Long, lpDate As SYSTEMTIME, _ ByVal lpFormat As String, ByVal lpDateStr As String, _ ByVal cchDate As Long) As Long
' d : numéro du jour ' dd : numéro jour précédé d'un 0 si < 10 ' ddd : nom abrégé du jour sur 3 lettres ("lun") ' dddd : nom complet du jour ("lundi") ' M : numéro du mois ' MM : numéro du mois précédé de 0 si < 10 ' MMM : nom abrégé du mois sur 3 lettres ("jan") ' MMMM : nom complet du mois ("janvier") ' y : 2 derniers chiffres de l'année (ou 1 chiffre si < 10) ' yy : 2 derniers chiffres de l'année (avec un 0 si < 10) ' yyyy : année sur 4 chiffres
Private Function IntlDate(D As Date, F As String, _ Optional Langue As Long) As String
' L. Longre MPFE Dim cchDate As Long
Dim APIDate As SYSTEMTIME With APIDate .wYear = Year(D) .wMonth = Month(D) .wDay = Day(D) End With cchDate = GetDateFormat(0, 0, APIDate, F, vbNullString, 0) IntlDate = Space(cchDate) GetDateFormat Langue, 0, APIDate, F, IntlDate, cchDate
End Function
Sub Test()
MsgBox IntlDate(CDate("22/1/1968"), "dddd d MMMM yyyy", LangAllemand)
End Sub
'===========================================
Re !
avec la fonction Format(date, "mmmm") j'obtiens le libellé du mois en
langue
française, comment obtenir le libellé anglais ? ou allemand ?
J'ai failli oublier les API ! ;-)
Un exemple dans la procédure Test ci-dessous (si tu ne veux que le nom du mois,
utilise le format "MMMM").
Cordialement,
Laurent
'==========================================
Private Type SYSTEMTIME
wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type
Private Declare Function GetDateFormat Lib "Kernel32" Alias "GetDateFormatA" _
(ByVal Locale As Long, ByVal dwFlags As Long, lpDate As SYSTEMTIME, _
ByVal lpFormat As String, ByVal lpDateStr As String, _
ByVal cchDate As Long) As Long
' d : numéro du jour
' dd : numéro jour précédé d'un 0 si < 10
' ddd : nom abrégé du jour sur 3 lettres ("lun")
' dddd : nom complet du jour ("lundi")
' M : numéro du mois
' MM : numéro du mois précédé de 0 si < 10
' MMM : nom abrégé du mois sur 3 lettres ("jan")
' MMMM : nom complet du mois ("janvier")
' y : 2 derniers chiffres de l'année (ou 1 chiffre si < 10)
' yy : 2 derniers chiffres de l'année (avec un 0 si < 10)
' yyyy : année sur 4 chiffres
Private Function IntlDate(D As Date, F As String, _
Optional Langue As Long) As String
' L. Longre MPFE
Dim cchDate As Long
Dim APIDate As SYSTEMTIME
With APIDate
.wYear = Year(D)
.wMonth = Month(D)
.wDay = Day(D)
End With
cchDate = GetDateFormat(0, 0, APIDate, F, vbNullString, 0)
IntlDate = Space(cchDate)
GetDateFormat Langue, 0, APIDate, F, IntlDate, cchDate
End Function
Sub Test()
MsgBox IntlDate(CDate("22/1/1968"), "dddd d MMMM yyyy", LangAllemand)
avec la fonction Format(date, "mmmm") j'obtiens le libellé du mois en langue française, comment obtenir le libellé anglais ? ou allemand ?
J'ai failli oublier les API ! ;-)
Un exemple dans la procédure Test ci-dessous (si tu ne veux que le nom du mois, utilise le format "MMMM").
Cordialement,
Laurent
'========================================== Private Type SYSTEMTIME wYear As Integer wMonth As Integer wDayOfWeek As Integer wDay As Integer wHour As Integer wMinute As Integer wSecond As Integer wMilliseconds As Integer End Type
Private Declare Function GetDateFormat Lib "Kernel32" Alias "GetDateFormatA" _ (ByVal Locale As Long, ByVal dwFlags As Long, lpDate As SYSTEMTIME, _ ByVal lpFormat As String, ByVal lpDateStr As String, _ ByVal cchDate As Long) As Long
' d : numéro du jour ' dd : numéro jour précédé d'un 0 si < 10 ' ddd : nom abrégé du jour sur 3 lettres ("lun") ' dddd : nom complet du jour ("lundi") ' M : numéro du mois ' MM : numéro du mois précédé de 0 si < 10 ' MMM : nom abrégé du mois sur 3 lettres ("jan") ' MMMM : nom complet du mois ("janvier") ' y : 2 derniers chiffres de l'année (ou 1 chiffre si < 10) ' yy : 2 derniers chiffres de l'année (avec un 0 si < 10) ' yyyy : année sur 4 chiffres
Private Function IntlDate(D As Date, F As String, _ Optional Langue As Long) As String
' L. Longre MPFE Dim cchDate As Long
Dim APIDate As SYSTEMTIME With APIDate .wYear = Year(D) .wMonth = Month(D) .wDay = Day(D) End With cchDate = GetDateFormat(0, 0, APIDate, F, vbNullString, 0) IntlDate = Space(cchDate) GetDateFormat Langue, 0, APIDate, F, IntlDate, cchDate
End Function
Sub Test()
MsgBox IntlDate(CDate("22/1/1968"), "dddd d MMMM yyyy", LangAllemand)
End Sub
'===========================================
GD
Bonsour® Laurent Longre sous XP il est possible d'utiliser les codes LocalID
voir infos là : http://www.microsoft.com/globaldev/reference/winxp/xp-lcid.mspx
avec la fonction Format(date, "mmmm") j'obtiens le libellé du mois en langue française, comment obtenir le libellé anglais ? ou allemand ?
Pour l'anglais :
Function D_ENG(D As Long, Optional Format As String) As String ' L. Longre MPFE If Format = "" Then Format = "dd mmmm yyyy" D_ENG = Evaluate("TEXT(" & D & ",""" & Format & """)") End Function
Sub Test() MsgBox D_ENG(CDate("22/01/1968"), "mmmm") End Sub
Pour l'allemand, il faudrait faire une fonction dédiée de traduction. Si tu veux uniquement au format "mmmm" :
Function D_DEUTSCH(D As Long) As String D_DEUTSCH = Array("Januar", "Februar", "März", "April", "Mai", _ "Juni", "Juli", "August", "September", "Oktober", _ "November", "Dezember")(Month(D) - 1) End Function
Sub Test() MsgBox D_DEUTSCH(CDate("22/01/1968")) End Sub
Cordialement,
Laurent
Bonsour® Laurent Longre
sous XP il est possible d'utiliser les codes LocalID
voir infos là :
http://www.microsoft.com/globaldev/reference/winxp/xp-lcid.mspx
avec la fonction Format(date, "mmmm") j'obtiens le libellé du mois
en langue française, comment obtenir le libellé anglais ? ou
allemand ?
Pour l'anglais :
Function D_ENG(D As Long, Optional Format As String) As String
' L. Longre MPFE
If Format = "" Then Format = "dd mmmm yyyy"
D_ENG = Evaluate("TEXT(" & D & ",""" & Format & """)")
End Function
Sub Test()
MsgBox D_ENG(CDate("22/01/1968"), "mmmm")
End Sub
Pour l'allemand, il faudrait faire une fonction dédiée de traduction.
Si tu veux uniquement au format "mmmm" :
Function D_DEUTSCH(D As Long) As String
D_DEUTSCH = Array("Januar", "Februar", "März", "April", "Mai", _
"Juni", "Juli", "August", "September", "Oktober", _
"November", "Dezember")(Month(D) - 1)
End Function
Sub Test()
MsgBox D_DEUTSCH(CDate("22/01/1968"))
End Sub
avec la fonction Format(date, "mmmm") j'obtiens le libellé du mois en langue française, comment obtenir le libellé anglais ? ou allemand ?
Pour l'anglais :
Function D_ENG(D As Long, Optional Format As String) As String ' L. Longre MPFE If Format = "" Then Format = "dd mmmm yyyy" D_ENG = Evaluate("TEXT(" & D & ",""" & Format & """)") End Function
Sub Test() MsgBox D_ENG(CDate("22/01/1968"), "mmmm") End Sub
Pour l'allemand, il faudrait faire une fonction dédiée de traduction. Si tu veux uniquement au format "mmmm" :
Function D_DEUTSCH(D As Long) As String D_DEUTSCH = Array("Januar", "Februar", "März", "April", "Mai", _ "Juni", "Juli", "August", "September", "Oktober", _ "November", "Dezember")(Month(D) - 1) End Function
Sub Test() MsgBox D_DEUTSCH(CDate("22/01/1968")) End Sub
Cordialement,
Laurent
Laurent Longre
Bonsour® Laurent Longre sous XP il est possible d'utiliser les codes LocalID
Merci GD ! :-)
En fait je suis resté à Excel 3.
(ménon je blague ! ;-)
Laurent
Bonsour® Laurent Longre
sous XP il est possible d'utiliser les codes LocalID