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

Transformation date

16 réponses
Avatar
JulieH
Bonjour à toutes et tous,

Je sais transformer une date en format américain par Macro :
Range("B8:B" & y).NumberFormat = "[$-409]mmmm d, yyyy;@"

Je voudrais maintenant récupérer une date avec ce format dans une
variable pour l'utiliser par la suite :
DateDébut = [B8].value
[Q1] = "Test " & DateDébut
Evidemment, je me retrouve avec "Test 06/10/2009" alors que je
voudrais "Test October 6, 2009"

Quelqu'un peut-il m'aider ?

Merci d'avance

Julie

6 réponses

1 2
Avatar
Rouch
Bonjour

En reprenant l'exemple de base:

Mes cellules de départ sont par exemple : 12/03/09 et 25/09/09, je
suis en France et je ne souhaite pas modifier les paramètres de mon
ordinateur, enfin je voudrais obtenir par macro et avec des variables :
"Collection Date = March 12, 2009 to September 25, 2009"

la Macro suivante le fait (La date de début est en A1, la date de fin
en A2 et on utilise Q1 pour un stockage provisoire):


Sub macro1()
Dim t As String

Range("Q1").FormulaLocal = "=""Collection Date= "" & TEXTE(A1,
""[$-409]mmmm j ,aaaa"") & "" to "" & TEXTE(A2, ""[$-409]mmmm j
,aaaa"")"
t = Range("Q1").Value

End Sub

@+
Rouch

Dans son message précédent, Daniel.C a écrit :
Bonjour.
Le problème est d'utiliser une variable, donc de passer par VBA.
Cordialement.
Daniel

Bonjour,

On peux avoir le même résultat sans passer par du VBA en utilisant dans la
cellule Q1 cette formule :
=TEXTE(B8, "[$-409]mmmm j ,aaaa")

Cordialement.

Rouch

JulieH a écrit :
Bonjour à toutes et tous,

Je sais transformer une date en format américain par Macro :
Range("B8:B" & y).NumberFormat = "[$-409]mmmm d, yyyy;@"

Je voudrais maintenant récupérer une date avec ce format dans une
variable pour l'utiliser par la suite :
DateDébut = [B8].value
[Q1] = "Test " & DateDébut
Evidemment, je me retrouve avec "Test 06/10/2009" alors que je voudrais
"Test October 6, 2009"

Quelqu'un peut-il m'aider ?

Merci d'avance

Julie






Avatar
FS
Bonsoir,

Une petite bricole VBA :

'============ Sub essai()
Dim Date_US
ConvertFR_US Range("B8"), Date_US
MsgBox Date_US
End Sub

Sub ConvertFR_US(cell, DateUS)
cell.NumberFormat = "[$-409]mmmm d, yyyy;@"
DateUS = cell.Text
cell.NumberFormat = "m/d/yyyy"
End Sub
'============
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

JulieH a écrit :
Bonjour à toutes et tous,

Je sais transformer une date en format américain par Macro :
Range("B8:B" & y).NumberFormat = "[$-409]mmmm d, yyyy;@"

Je voudrais maintenant récupérer une date avec ce format dans une
variable pour l'utiliser par la suite :
DateDébut = [B8].value
[Q1] = "Test " & DateDébut
Evidemment, je me retrouve avec "Test 06/10/2009" alors que je
voudrais "Test October 6, 2009"

Quelqu'un peut-il m'aider ?

Merci d'avance

Julie



Avatar
Alain
Tu pourrais le faire de la manière suivante:

DateDébut = [B22]
DateTexte = WorksheetFunction.Text(DateDébut, "[$-409]mmmm d yyyy")
[Q1] = "Test " & DateTexte


Alain


"JulieH" wrote in message
news:#
Bonjour à toutes et tous,

Je sais transformer une date en format américain par Macro :
Range("B8:B" & y).NumberFormat = "[$-409]mmmm d, yyyy;@"

Je voudrais maintenant récupérer une date avec ce format dans une
variable pour l'utiliser par la suite :
DateDébut = [B8].value
[Q1] = "Test " & DateDébut
Evidemment, je me retrouve avec "Test 06/10/2009" alors que je voudrais
"Test October 6, 2009"

Quelqu'un peut-il m'aider ?

Merci d'avance

Julie



Avatar
FS
Et, pour compléter, si tu as besoin de renvoyer le résultat au format US
sans changer tes paramètres régionaux :

'============ Sub essai()
Dim Date_US
ConvertFR_US Range("B8"), Date_US
MsgBox Date_US
With Range("B9")
.NumberFormat = "@"
.Value = Date_US
End With
End Sub

Sub ConvertFR_US(cell, DateUS)
cell.NumberFormat = "[$-409]mmmm d, yyyy;@"
DateUS = cell.Text
cell.NumberFormat = "m/d/yyyy"
End Sub
'============
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

FS a écrit :
Bonsoir,

Une petite bricole VBA :

'============ > Sub essai()
Dim Date_US
ConvertFR_US Range("B8"), Date_US
MsgBox Date_US
End Sub

Sub ConvertFR_US(cell, DateUS)
cell.NumberFormat = "[$-409]mmmm d, yyyy;@"
DateUS = cell.Text
cell.NumberFormat = "m/d/yyyy"
End Sub
'============ >
FS


Avatar
FS
Pour être complet (??) et en reprenant l'excellente idée d'Alain, une
fonction perso, utilisable aussi bien dans une feuille de calcul que
dans du code VBA :

'============ Sub essai33()
MsgBox Local_To_US(Range("B8"))
End Sub

Function Local_To_US(cell)
Local_To_US = Application.Text(cell.Value, "[$-409]mmmm d, yyyy")
End Function
'============
FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

FS a écrit :
Bonsoir,

Une petite bricole VBA :

'============ > Sub essai()
Dim Date_US
ConvertFR_US Range("B8"), Date_US
MsgBox Date_US
End Sub

Sub ConvertFR_US(cell, DateUS)
cell.NumberFormat = "[$-409]mmmm d, yyyy;@"
DateUS = cell.Text
cell.NumberFormat = "m/d/yyyy"
End Sub
'============ >
FS


Avatar
JulieH
Bonjour et merci à tous pour votre aide.

Julie

Alain a écrit :
Tu pourrais le faire de la manière suivante:

DateDébut = [B22]
DateTexte = WorksheetFunction.Text(DateDébut, "[$-409]mmmm d yyyy")
[Q1] = "Test " & DateTexte


Alain


"JulieH" wrote in message
news:#
Bonjour à toutes et tous,

Je sais transformer une date en format américain par Macro :
Range("B8:B" & y).NumberFormat = "[$-409]mmmm d, yyyy;@"

Je voudrais maintenant récupérer une date avec ce format dans une
variable pour l'utiliser par la suite :
DateDébut = [B8].value
[Q1] = "Test " & DateDébut
Evidemment, je me retrouve avec "Test 06/10/2009" alors que je
voudrais "Test October 6, 2009"

Quelqu'un peut-il m'aider ?

Merci d'avance

Julie





1 2