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 !
Il y a beaucoup de formats de date anglais. Il y a le format anglais des Etats-Unis, de l'Irlande, de l'Inde et beaucoup d'autres.
Si tu veux en voir les différences, va dans le Panneau de configuration / Régions et langues et choisis les différents formats anglais offerts par Windows.
Puis tu peux les tester en VBA avec ceci:
Code:
Sub Date_Internationale()
Dim myDate As Date
myDate = Date
Cells(1, 1).NumberFormat = "m/d/yyyy"
Cells(1, 1).Value = CDate(myDate)
MsgBox Format(CDate(myDate), "Long Date")
MsgBox Format(CDate(myDate), "Short Date")
End Sub
merci de votre réponse Docmarti,
en fait je voudrais la date sous le format suivant dd - mmm où le "dd" sera le numero du jour et le "mmm" les 3 première lettre du mois (en anglais, Jul pour July, Jun -->June....)
je n'ai toujours pas réussi a avoir cela avec votre code vba, n'est il pas possible de garder l'affichage de la date en francais sous windows et de pouvoir l'afficher en anglais en vba?
Oui. Tu pourrais utiliser la fonction Day () pour connaître le jour et la fonction Month () pour connaître le mois
et pouvoir te référer à une liste ou un array contenant les 12 mois anglais.
Il y a beaucoup de formats de date anglais. Il y a le format anglais des Etats-Unis, de l'Irlande, de l'Inde et beaucoup d'autres.
Si tu veux en voir les différences, va dans le Panneau de configuration / Régions et langues et choisis les différents formats anglais offerts par Windows.
VBA parlant effectivement anglo-saxon, EVALUATE est une solution restrictive littéralement à la demande...
awa123 ne nous précise pas l'usage voulu de sa fonction (strictement VBA msgbox ??? ou récupération dans une cellule )
awa123 pourrait nous expliquer alors, pourquoi dans la question initiale, il utilise le LCId lié aux options régionales ?
eu-t-il été citoyen britannique Gallois ou gaëllique Ecossais, l'usage du LCid est une autre solution ouverte...🙄
🙄
à tester :
VB:
Sub DateAnglaise()Dim dat AsLong
dat =CDate("12/8")'CLng(CDate("12/8"))
MsgBox Evaluate("TEXT("& dat &",""dd-mmm"")")
[A2] = Evaluate("TEXT("& dat &",""dd-mmm"")")EndSub
nb : il ne s'agit pas ici de lèse-majesté eu-égard à un Mega-barbatruc
simplement d'une émulation que j'espère sincère... 😎
C'est très normal, Evaluate("TEXT(" & dat & ",""dd-mmm"")") étant une (vraie) date, si l'on entre cette date dans une cellule, le format qu'on a donné à la cellule (ou le format par défaut) est appliqué à la date.
Si l'on veut obtenir "12-Aug" dans une cellule, outre le format indiqué par Docmarti, on peut utiliser le format "Texte" ou mettre une apostrophe :
Code:
Sub DateAnglaise()
Dim dat As Long, x As String
dat = CDate("12/8") 'CLng(CDate("12/8"))
x = Evaluate("TEXT(" & dat & ",""dd-mmm"")")
MsgBox x
'[A2].NumberFormat = "[$-409]dd - mmm"
'[A2].NumberFormat = "@" 'format Texte
'[A2] = x
[A2] = "'" & x
End Sub
Désolé.
J'avais ignoré ta solution avec la fonction Evaluate que je n'avais jamais utilisé car elle me semblait plutôt complexe.
Pour arriver comprendre ta solution et à pouvoir l'utiliser, je l'ai simplifiée et ça donne ceci :
'Basé sur le fichier de modestegeedee et le code de job75
Code:
Sub DateKhmer()
Dim dat As Long
NumberFormat = "[$-470]dd-mmm"
dat = Date
Cells(12, 1) = Evaluate("TEXT(" & dat & "," & Chr(34) & NumberFormat & Chr(34) & ")")
End Sub
Pour arriver comprendre ta solution et à pouvoir l'utiliser, je l'ai simplifiée et ça donne ceci :
'Basé sur le fichier de modestegeedee et le code de job75
Code:
Sub DateKhmer()
Dim dat As Long
NumberFormat = "[$-470]dd-mmm"
dat = Date
Cells(12, 1) = Evaluate("TEXT(" & dat & "," & Chr(34) & NumberFormat & Chr(34) & ")")
End Sub
- 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