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

10 réponses

1 2
Avatar
JulieH
Bonjour et merci pour t'intéresser à mon problème,

Voir mon autre post.

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"

Julie

michdenis a écrit :
Bonjour,

Il faudrait d'abord que tu dises ce que contient la cellule avant que tu appliques le
format "Date"

Si le contenu de la cellule est une date reconnu par l'application Excel auquel tu veux
passer un format américain, ceci est suffisant :

Range("A1").NumberFormat = "MMMM, d YYYY"

Si tu veux récupérer cette date en vba,
x = range("A1") est suffisant.

Tu dois te rappeler que pour Excel, le format ce n'est que l'apparence,
la valeur numérique que contient la cellule ou la variable ne change
pas parce que tu modifie le format. Cependant, il est utile de connaître
ton point de départ, soit, le contenu original de ta cellule...et le format
par défaut défini dans ton panneau de configuration de Windows.



"JulieH" a écrit dans le message de groupe de
discussion : #
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
Daniel.C
Bonjour.
DateDébut = [B8].Value2
[Q1] = DateDébut
[Q1].NumberFormat = """test ""[$-409]mmmm d, yyyy"
Cordialement.
Daniel

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
michdenis
"JulieH" a écrit dans le message de groupe de
discussion :
Bonjour et merci pour t'intéresser à mon problème,

Voir mon autre post.
En supposant que tes dates sont dans les cellules A1 et A2
Ceci devrait être suffisant

Dim Collection_Date As String
Collection_Date = _
Format(Range("A1"), "MMMM, d YYYY") & _
" to " & Format(Range("B1"), "MMMM, d YYYY")



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"

Julie

michdenis a écrit :
Bonjour,

Il faudrait d'abord que tu dises ce que contient la cellule avant que tu appliques le
format "Date"

Si le contenu de la cellule est une date reconnu par l'application Excel auquel tu veux
passer un format américain, ceci est suffisant :

Range("A1").NumberFormat = "MMMM, d YYYY"

Si tu veux récupérer cette date en vba,
x = range("A1") est suffisant.

Tu dois te rappeler que pour Excel, le format ce n'est que l'apparence,
la valeur numérique que contient la cellule ou la variable ne change
pas parce que tu modifie le format. Cependant, il est utile de connaître
ton point de départ, soit, le contenu original de ta cellule...et le format
par défaut défini dans ton panneau de configuration de Windows.



"JulieH" a écrit dans le message de groupe de
discussion : #
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
Patrick
Bonjour,

Il faut utiliser la fonction "Format" :

[Q1] = "Test " & Format(DateDébut, "[$-409]mmmm d, yyyy")

--
Patrick


"JulieH" wrote:

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
Daniel.C
Bonjour.
Pas forcé, si tu veux réutiliser la valeur de la cellule sans la
remodifier.
Daniel

Bonjour,

Il faut utiliser la fonction "Format" :

[Q1] = "Test " & Format(DateDébut, "[$-409]mmmm d, yyyy")

--
Patrick


"JulieH" wrote:

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
JulieH
Bonsoir et merci à tous pour vos réponses

Je suis plutôt intéressée par la réponse de Patrick (voir mon second et
3ième post).
Par contre sa formule a le problème déjà évoqué plus tôt, à savoir que
le mois est en Français : "Test septembre 12, 2009" pour "12/09/09".
Evidemment, celle de Daniel fonctionne mais je ne vois pas comment
l'utiliser dans mon cas.

Julie





Patrick a écrit :
Bonjour,

Il faut utiliser la fonction "Format" :

[Q1] = "Test " & Format(DateDébut, "[$-409]mmmm d, yyyy")



Avatar
Daniel.C
En sortant la grosse artillerie :

Sub test()
Mois = Array("January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December")
datedébut = [L1].Value
datefin = [M1].Value
Var = Mois(7)
[R1] = "Collection Date = " & Mois(Month(datedébut) - 1) & " " &
Day(datedébut) & _
", " & Year(datedébut) & " to " & Mois(Month(datefin) - 1) & " " &
Day(datefin) & _
", " & Year(datefin)
End Sub

Daniel


Bonsoir et merci à tous pour vos réponses

Je suis plutôt intéressée par la réponse de Patrick (voir mon second et
3ième post).
Par contre sa formule a le problème déjà évoqué plus tôt, à savoir que le
mois est en Français : "Test septembre 12, 2009" pour "12/09/09".
Evidemment, celle de Daniel fonctionne mais je ne vois pas comment
l'utiliser dans mon cas.

Julie





Patrick a écrit :
Bonjour,

Il faut utiliser la fonction "Format" :

[Q1] = "Test " & Format(DateDébut, "[$-409]mmmm d, yyyy")





Avatar
JulieH
Bonsoir Daniel,

Evidemment, c'est la très grosse artillerie !!! mais bon s'il n'y a pas
plus simple, je vais m'en contenter.
Je n'ai pas tout compris. J'ai enlevé la ligne "Var = Mois(7) dont je
ne comprenais pas l'utilité et cela a fonctionné aussi.

Merci pour ton aide.
Julie



Daniel.C a écrit :
En sortant la grosse artillerie :

Sub test()
Mois = Array("January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December")
datedébut = [L1].Value
datefin = [M1].Value
Var = Mois(7)
[R1] = "Collection Date = " & Mois(Month(datedébut) - 1) & " " &
Day(datedébut) & _
", " & Year(datedébut) & " to " & Mois(Month(datefin) - 1) & " " &
Day(datefin) & _
", " & Year(datefin)
End Sub

Daniel


Bonsoir et merci à tous pour vos réponses

Je suis plutôt intéressée par la réponse de Patrick (voir mon
second et 3ième post).
Par contre sa formule a le problème déjà évoqué plus tôt, à savoir
que le mois est en Français : "Test septembre 12, 2009" pour "12/09/09".
Evidemment, celle de Daniel fonctionne mais je ne vois pas comment
l'utiliser dans mon cas.

Julie





Patrick a écrit :
Bonjour,

Il faut utiliser la fonction "Format" :

[Q1] = "Test " & Format(DateDébut, "[$-409]mmmm d, yyyy")









Avatar
Rouch
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
Daniel.C
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




1 2