macro VBA et date

Le
Serge Nazarian
Bonjour,

J'ai un problème avec une macro

La cellule active (de contenu sans importance) est en colonne 1 d'une
certaine ligne. Dans la cellule en deuxième colonne de cette même ligne j'ai
:
CARTE 11/02/2010 MAGASIN1
Je souhaite récupérer 11/02/2010 dans la cellule active (en première colonne
de la ligne).
Je fais donc :
ActiveCell.Value = Mid(ActiveCell.Offset(0, 1), 7, 10)
Malheureusement je récupère :
02/11/2010

Je soupçonne un problème de format de date français-anglais, mais ne sait
comment le résoudre.

Bien sûr si le contenu de la cellule active est :
CARTE 23/02/2010 MAGASIN2
je récupère bien
23/02/2010

Merci pour toute aide.
Cordialement,
--
Serge Nazarian
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JB
Le #21306821
Bonjour,

ActiveCell.Value = CDate(Mid(ActiveCell.Offset(0, 1), 7, 10))

JB
http://boisgontierjacques.free.fr/

On 3 mar, 14:59, "Serge Nazarian"
Bonjour,

J'ai un problème avec une macro

La cellule active (de contenu sans importance) est en colonne 1 d'une
certaine ligne. Dans la cellule en deuxième colonne de cette même lig ne j'ai
:
CARTE 11/02/2010 MAGASIN1
Je souhaite récupérer 11/02/2010 dans la cellule active (en premièr e colonne
de la ligne).
Je fais donc :
ActiveCell.Value = Mid(ActiveCell.Offset(0, 1), 7, 10)
Malheureusement je récupère :
02/11/2010

Je soupçonne un problème de format de date  français-anglais, mai s ne sait
comment le résoudre.

Bien sûr si le contenu de la cellule active est :
CARTE 23/02/2010 MAGASIN2
je récupère bien
23/02/2010

Merci pour toute aide.
Cordialement,
--
Serge Nazarian


michdenis
Le #21307081
Bonjour,

Essaie comme ceci :
La fonction split() requiert Excel 2000 ou plus récent.

Dim MaDate As String, X As Variant

With ActiveCell
MaDate = Mid(.Offset(0, 1), 7, 10)
X = Split(MaDate, "/")
.Value = CDate(DateSerial(X(2), X(1), X(0)))
End With





"Serge Nazarian" 4b8e6b8b$0$23907$
Bonjour,

J'ai un problème avec une macro

La cellule active (de contenu sans importance) est en colonne 1 d'une
certaine ligne. Dans la cellule en deuxième colonne de cette même ligne j'ai
:
CARTE 11/02/2010 MAGASIN1
Je souhaite récupérer 11/02/2010 dans la cellule active (en première colonne
de la ligne).
Je fais donc :
ActiveCell.Value = Mid(ActiveCell.Offset(0, 1), 7, 10)
Malheureusement je récupère :
02/11/2010

Je soupçonne un problème de format de date français-anglais, mais ne sait
comment le résoudre.

Bien sûr si le contenu de la cellule active est :
CARTE 23/02/2010 MAGASIN2
je récupère bien
23/02/2010

Merci pour toute aide.
Cordialement,
--
Serge Nazarian
Serge Nazarian
Le #21307071
Re-Bonjour,

ActiveCell.Value = CDate(Mid(ActiveCell.Offset(0, 1), 7, 10))
marche parfaitement.
Je n'ai pas essayé la proposition de michdenis, mais je le remercie ainsi
bien sûr que JB. Cela faisait une heure au moins que je galérais et le
problème a été résolu en moins de 5 minutes grâce au forum.

Cordialement,
--
Serge Nazarian
FFO
Le #21307191
Salut à toi

Mets plutôt comme ceci :

ActiveCell.Value = Cdate(Mid(ActiveCell.Offset(0, 1), 7, 10))


Celà devrait faire

Dis moi !!!!!
Publicité
Poster une réponse
Anonyme