Format date en anglais VBA

  • Initiateur de la discussion Initiateur de la discussion awa123
  • Date de début Date de début

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 !

awa123

XLDnaute Occasionnel
Bonjour,

je voudrais savoir comment mettre le format de la date en anglais en VBA

j'ai essayé cela
Code:
Sub test()
MsgBox format(myDate + 70, "[$-409]dd - mmm")
End Function

mais ça ne fonctionne pas...

Merci beaucoup de votre aide
 
Re : Format date en anglais VBA

Bonjour.

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

Cordialement

Docmarti
 
Re : Format date en anglais VBA

Bonjour,

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?

merci beaucoup
 
Re : Format date en anglais VBA

Bonjour awa123, Docmarti,

En évaluant en VBA la fonction de feuille de calcul TEXTE :

Code:
Sub DateAnglaise()
Dim dat As Long
dat = CDate("12/5") 'CLng(CDate("12/5"))
MsgBox Evaluate("TEXT(" & dat & ",""dd-mmm"")")
End Sub
A+
 
Re : Format date en anglais VBA

Bonsour®
Bonjour.

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.

🙄
voir ceci :
Capture.JPG
 

Pièces jointes

Re : Format date en anglais VBA

Merci Job75, Modeste geedee

Donc la solution à la question de awa123 est de passer par une cellule d'une feuille Excel.

Code:
Sub test()

Dim mydate As Date

mydate = Date
Cells(1, 1).Value = mydate
Cells(1, 1).NumberFormat = "[$-409]dd - mmm"

MsgBox Cells(1, 1).Text

End Sub
 
Re : Format date en anglais VBA

Bonsour®

plutôt que de savoir qui a la plus grosse ... 😱

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 As Long
 dat = CDate("12/8") 'CLng(CDate("12/8"))
 MsgBox Evaluate("TEXT(" & dat & ",""dd-mmm"")")
 [A2] = Evaluate("TEXT(" & dat & ",""dd-mmm"")")
 End Sub
Capture.JPG

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...
😎
 

Pièces jointes

  • Capture.JPG
    Capture.JPG
    26.3 KB · Affichages: 152
  • Capture.JPG
    Capture.JPG
    26.3 KB · Affichages: 153
Re : Format date en anglais VBA

Hello Modeste geedee,

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.

A+
 
Re : Format date en anglais VBA

Re,

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
A+
 
Re : Format date en anglais VBA

Re,


Bonjour job75.

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
 
Re : Format date en anglais VBA

Bonsour®
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

😕😕😕
dans ce cas pourquoi pas simplement :
VB:
 Sub DateKhmer2()
 Dim Lcid As String
 Lcid = "[$-470]ddd dd-mmmm yyyy"
  Cells(12, 1).NumberFormat = Lcid
  Cells(12, 1) = Now()
  MsgBox Evaluate("TEXT(Now() ," & Chr(34) & Lcid & Chr(34) & ")"), vbInformation, "Valeur texte !!!"
  MsgBox Cells(12, 1).Text & Chr(10) _
          & "valeur cellule = " & Cells(12, 1).Value2, vbExclamation, "Format et N° de serie"  
 End Sub
la valeur de la cellule reste utilisable dans d'autres formules ou codes VBA 😎
 
- 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

Discussions similaires

  • Question Question
Microsoft 365 format date
Réponses
3
Affichages
63
Réponses
2
Affichages
407
Retour