XL 2016 Format de date dans =TEXTE(....)

F22Raptor

XLDnaute Impliqué
Bonjour à tous,
Je compte faire appel à la fonction =TEXTE(A1 ; "format de date") pour écrire qq chose comme :
DU 22-1-20 AU 7-3-20.
Et donc, le format serait "j-m-aa" par exemple.
Mais si un collègue qui a un Excel anglais l'ouvre ... ça ne marchera pas à cause du j et du aa ! Il faudrait "d-m-yy", et comme c'est écrit "en dur", Excel ne fera pas la transformation à l'ouverture.

Savez-vous s'il existe un "code de format" pour les dates, valable qq soit la langue, du genre :
=TEXTE(A1;"ShortDate") ?

Il y a possibilité d'écrire des choses en VBA, mais pour une seule cellule concernée, j'aimerais rester KISS, donc si ça n'existe pas, je me débrouillerai autrement (avec 4 cellules consécutives ;) )

Merci et bon weekend à tous
 

F22Raptor

XLDnaute Impliqué
Merci Staple !
Je me suis mal exprimé : si tu ouvres un classeur avec ta formule dans l'Excel d'un bureau newyorkais, tu auras en résulat : jjjjj jj april aaaa

Car ton format est écrit en dur, et l'Excel américain ne le comprendra pas.
Il lui faudrait des d et des y à la place des j et des a.
 

Staple1600

XLDnaute Barbatruc
Re

Je ne suis pas new-yorkais
Je suis pas dans un bureau.

Tu as fait essayé ma formule par un "ricain"?
Et il te restera à traduire le Du et le au ;)
="Du: "&TEXTE(AUJOURDHUI();"[$-409]jjjj j")&" au "&TEXTE(AUJOURDHUI()+7;"[$-409]jjjj j mmmm aaaaa")
 

Paf

XLDnaute Barbatruc
Bonjour à tous,

un essai par fonction personnalisée:

Dans un module standard:
VB:
Function FormatDatedmyy(Cel)
 FormatDatedmyy = Format(Cel, "d-m-yy")
End Function

et dans une cellule : = "Du " & FormatDatedmyy(A1) & " au " & FormatDatedmyy(B1)

A1 et B1 étant des dates valides.

A+
 

F22Raptor

XLDnaute Impliqué
Les soluces de Paf et Youky ont l'air bien, mais je veux éviter VBA ! ;)
Je vais voir si l'idée de Youky peut passer en formule avec CNUM.

Pour la formule de Staple : au dessus, l'Excel français, et le fichier ouvert sous Excel UK en dessous.
forum_excel.jpg
 

F22Raptor

XLDnaute Impliqué
Bon, j'ai essayé en formule la soluce de Youky, avec CNUM et son équivalent anglais =VALUE(...)

Dans l'Excel FR :
=CNUM("01/02/2020") renvoie 43862 (1er février)

et dans l'Excel UK
=VALUE("01/02/2020") renvoie aussi 43862

Donc ça ne permet pas de discriminer pour faire ensuite un SI, alors TEXTE (.... ; "J-M-AA"), sinon TEXTE (.... ; "D-M-YY")


Bon, tant pis, je crois que je vais utilser 4 cellules de suite : DU // DATE 1 // AU // DATE 2
avec des formatages de cellule, qui seront bien réinterprétés dans l'Excel UK
 

F22Raptor

XLDnaute Impliqué
Merci Staple !!!
En tant que telle, elle ne marche pas, mais en adaptant, c'était bien la bonne idée.

Testée dans les deux Excel, ça fonctionne comme ça :
=+SI(ESTNUM(CHERCHE("jjj";TEXTE(AUJOURDHUI();"jjj")));TEXTE(AUJOURDHUI();"DDD
D MMM YY");TEXTE(AUJOURDHUI();"JJJ J MMM AA"))
 

job75

XLDnaute Barbatruc
Bonjour,

Entrez cette formule sur un Excel français :
Code:
=SI(ESTNUM(-TEXTE(1;"j/m"));"Du " & TEXTE(AUJOURDHUI();"jjjj j mmmm")&" au " &TEXTE(AUJOURDHUI()+7;"jjjj j mmmm aaaa");"From " & TEXTE(AUJOURDHUI();"dddd d mmmm")&" to " &TEXTE(AUJOURDHUI()+7;"dddd d mmmm yyyy"))
et envoyez le fichier à New York.

A+
 

job75

XLDnaute Barbatruc
(suite évidente) sur l'ordi de New York la formule précédente se convertira automatiquement en :
Code:
=IF(ISNUMBER(-TEXT(1,"j/m")),"Du " & TEXT(TODAY(),"jjjj j mmmm")&" au " &TEXT(TODAY()+7,"jjjj j mmmm aaaa"),"From " & TEXT(TODAY(),"dddd d mmmm")&" to " &TEXT(TODAY()+7,"dddd d mmmm yyyy"))
 

Discussions similaires

Statistiques des forums

Discussions
312 332
Messages
2 087 364
Membres
103 528
dernier inscrit
maro