Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

format de date

8 réponses
Avatar
Marc
Bonjour à vous tous
J'ai une colonne (colonne B) ou le texte est écrit June 13,2007. Y-a-t-il un
moyen à l'aide d'une formule, d'avoir le format 2007-06-13? Donc, convertir
du texte en date. Les dates de ma colonne B sont écrites en anglais, et mon
système est français. Est-ce que cela se fait.

Merci de votre aide

8 réponses

Avatar
Fredo
On 20 juin, 23:19, Marc wrote:
Bonjour à vous tous
J'ai une colonne (colonne B) ou le texte est écrit June 13,2007. Y-a-t- il un
moyen à l'aide d'une formule, d'avoir le format 2007-06-13? Donc, conve rtir
du texte en date. Les dates de ma colonne B sont écrites en anglais, et mon
système est français. Est-ce que cela se fait.

Merci de votre aide


Bonsoir Marc,


1° selectionner les cellules qui contiennent les dates à
l'américaine.
2° Menu Format ---> Cellule --->NOMBRE ----> Date (choisir un format
de date francais qui te convient)
Capito ?

Avatar
Modeste
Bonsour® Marc avec ferveur ;o))) vous nous disiez :

J'ai une colonne (colonne B) ou le texte est écrit June 13,2007. Y-a-t-il un
moyen à l'aide d'une formule, d'avoir le format 2007-06-13? Donc, convertir
du texte en date. Les dates de ma colonne B sont écrites en anglais, et mon
système est français. Est-ce que cela se fait.


dans votre classeur creer une plage nommée LESMOIS
telle que :
January
February
March
April
May
June
July
August
September
October
November
December

ensuite en regard de votre date US (en B1)
par exemple en C1 ecrire la formule ci-dessous :
ÚTE(DROITE(B1;4);EQUIV(GAUCHE(B1;TROUVE("
";B1)-1);LESMOIS;0);GAUCHE(DROITE(B1;7);2))
puis recopier vers le bas autant que nécessaire

http://cjoint.com/?gvbcb6Ezme


--
--
@+
;o)))

Avatar
Quetzalcoatl
Bonsoir,

Avec la fonction VBA ci-dessous (sur la base d'une fonction de Laurent
Longre : http://www.excelabo.net/excel/datetraduc.php), insérée dans un
module.
Si tu as June 13,2007 en B1 et que tu tapes =D_FR(B1) en C1, tu obtiendras
39246, soit 13/06/2007 au format date jj/mm/aaaa

Function D_FR(D As String) As Date

Dim BLANC, VIRGULE As Integer
Dim J, M, A As String

BLANC = Application.WorksheetFunction.Find(" ", D)
VIRGULE = Application.WorksheetFunction.Find(",", D)
A = " " & Right(D, 4)
M = Left(D, BLANC)
J = Mid(D, BLANC + 1, VIRGULE - BLANC - 1)

D_FR = Evaluate("value(""" & J & M & A & """)")

End Function

"Marc" a écrit dans le message de news:
Bonjour à vous tous
J'ai une colonne (colonne B) ou le texte est écrit June 13,2007. Y-a-t-il un
moyen à l'aide d'une formule, d'avoir le format 2007-06-13? Donc, convertir
du texte en date. Les dates de ma colonne B sont écrites en anglais, et mon
système est français. Est-ce que cela se fait.

Merci de votre aide


Avatar
Quetzalcoatl
Re-bonsoir,

Noter que la fonction D_FR de Laurent Longre fonctionne parfaitement telle quelle si la date est :
June 13, 2007
au lieu de
June 13,2007
--> Es-tu sûr qu'il n'y a pas un blanc entre la virgule et l'année ?
(En principe, il y en a un dans le format de date Etats-Unis d'EXCEL).


"Quetzalcoatl" a écrit ...
sur la base d'une fonction de Laurent Longre : D_FR
http://www.excelabo.net/excel/datetraduc.php


Avatar
Marc
BonsoirModeste,
Merci beaucoup puor ton aide. Mais un dernier problème. Si au lieu d'avoir
la date June 13,2007 j'avais June 13, 2007 (un espace avant le 2007), qu'elle
serait la modification a apporter à ta formule?

Merci
Marc


Bonsour® Marc avec ferveur ;o))) vous nous disiez :

J'ai une colonne (colonne B) ou le texte est écrit June 13,2007. Y-a-t-il un
moyen à l'aide d'une formule, d'avoir le format 2007-06-13? Donc, convertir
du texte en date. Les dates de ma colonne B sont écrites en anglais, et mon
système est français. Est-ce que cela se fait.


dans votre classeur creer une plage nommée LESMOIS
telle que :
January
February
March
April
May
June
July
August
September
October
November
December

ensuite en regard de votre date US (en B1)
par exemple en C1 ecrire la formule ci-dessous :
ÚTE(DROITE(B1;4);EQUIV(GAUCHE(B1;TROUVE("
";B1)-1);LESMOIS;0);GAUCHE(DROITE(B1;7);2))
puis recopier vers le bas autant que nécessaire

http://cjoint.com/?gvbcb6Ezme


--
--
@+
;o)))






Avatar
Marc
Bonsoir
Merci pour ce code, très apprécié. Je le prends en note. Et effectivement,
certaines des données ont un espace entre la virgule et le 2007.

Merci


Bonsoir,

Avec la fonction VBA ci-dessous (sur la base d'une fonction de Laurent
Longre : http://www.excelabo.net/excel/datetraduc.php), insérée dans un
module.
Si tu as June 13,2007 en B1 et que tu tapes =D_FR(B1) en C1, tu obtiendras
39246, soit 13/06/2007 au format date jj/mm/aaaa

Function D_FR(D As String) As Date

Dim BLANC, VIRGULE As Integer
Dim J, M, A As String

BLANC = Application.WorksheetFunction.Find(" ", D)
VIRGULE = Application.WorksheetFunction.Find(",", D)
A = " " & Right(D, 4)
M = Left(D, BLANC)
J = Mid(D, BLANC + 1, VIRGULE - BLANC - 1)

D_FR = Evaluate("value(""" & J & M & A & """)")

End Function

"Marc" a écrit dans le message de news:
Bonjour à vous tous
J'ai une colonne (colonne B) ou le texte est écrit June 13,2007. Y-a-t-il un
moyen à l'aide d'une formule, d'avoir le format 2007-06-13? Donc, convertir
du texte en date. Les dates de ma colonne B sont écrites en anglais, et mon
système est français. Est-ce que cela se fait.

Merci de votre aide







Avatar
Modeste
Bonsour® Marc avec ferveur ;o))) vous nous disiez :

Merci beaucoup puor ton aide. Mais un dernier problème. Si au lieu d'avoir
la date June 13,2007 j'avais June 13, 2007 (un espace avant le 2007), qu'elle
serait la modification a apporter à ta formule?



Est-ce que la présence de cet espace est unique et constante ???

ÚTE(DROITE(B1;4);EQUIV(GAUCHE(B1;TROUVE("
";B1)-1);LESMOIS;0);GAUCHE(DROITE(B1;8);2))
au lieu de !
ensuite en regard de votre date US (en B1)
par exemple en C1 ecrire la formule ci-dessous :
ÚTE(DROITE(B1;4);EQUIV(GAUCHE(B1;TROUVE("
";B1)-1);LESMOIS;0);GAUCHE(DROITE(B1;7);2))
puis recopier vers le bas autant que nécessaire

http://cjoint.com/?gvbcb6Ezme



--
--
@+
;o)))


Avatar
Marc
Bonjour Modeste
cela fonctionne parfaitement, merci beaucoup et bonne journée

Marc


Bonsour® Marc avec ferveur ;o))) vous nous disiez :

Merci beaucoup puor ton aide. Mais un dernier problème. Si au lieu d'avoir
la date June 13,2007 j'avais June 13, 2007 (un espace avant le 2007), qu'elle
serait la modification a apporter à ta formule?



Est-ce que la présence de cet espace est unique et constante ???

ÚTE(DROITE(B1;4);EQUIV(GAUCHE(B1;TROUVE("
";B1)-1);LESMOIS;0);GAUCHE(DROITE(B1;8);2))
au lieu de !
ensuite en regard de votre date US (en B1)
par exemple en C1 ecrire la formule ci-dessous :
ÚTE(DROITE(B1;4);EQUIV(GAUCHE(B1;TROUVE("
";B1)-1);LESMOIS;0);GAUCHE(DROITE(B1;7);2))
puis recopier vers le bas autant que nécessaire

http://cjoint.com/?gvbcb6Ezme



--
--
@+
;o)))