Convertir string en format date

yadla

XLDnaute Occasionnel
Bonjour le forum,

J'ai effecué quelques recherches mais je n'ai pas réussi à trouver ce que je voulais.

J'aimerais convertir une chaine de caractères en format date.
Voici ce que j'ai fait en pièce jointe, mais ca ne fonctionne pas :(

Pourtant la chaine de caractères est comme une date en format long (jour semaine + jour + mois + année -> tout complet).

Je ne comprends pas...
 

Pièces jointes

  • converssion_date.xls
    21.5 KB · Affichages: 249
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : Convertir string en format date

bonjour yadla

une solution:

Code:
Sub convertir_en_date()
With Sheets(1)
    For i = 1 To 7
    x = InStr(.Cells(i, 1).Value, " ")
    .Cells(i, 2).Value = CDate(Mid(.Cells(i, 1).Value, x, Len(.Cells(i, 1).Value) - x + 1))
    Next i
End With
End Sub
 

myDearFriend!

XLDnaute Barbatruc
Re : Convertir string en format date

Bonjour yadla, le Forum,

Tu devrais pouvoir faire comme ça :
Code:
[SIZE=2][COLOR=GRAY][B][I]DANS UN MODULE DE CODE STANDARD[/I][/B][/COLOR]

[COLOR=NAVY]Sub[/COLOR] convertir_en_date()
    [COLOR=NAVY]With[/COLOR] Sheets(1)
        [COLOR=NAVY]For[/COLOR] i = 1 [COLOR=NAVY]To[/COLOR] 7
            .Cells(i, 2) = DateValue(Mid(.Cells(i, 1), InStr(.Cells(i, 1), " ")))
        [COLOR=NAVY]Next[/COLOR] i
    [COLOR=NAVY]End With
End Sub[/COLOR][/SIZE]
C'est la mention du jour de la semaine (lundi, mardi, etc...) qui empêche le code de convertir l'expression chaîne de caractère en vraie valeur Date. Il convient donc de supprimer cet élément de la chaîne avant de la convertir.

Une remarque supplémentaire :
Tu devrais réserver le module de code de la Feuil1 aux seules procédures évènementielles et insérer tes propres procédures dans un module de code standard.

Cordialement,

EDITION
Bonjour pierrejean
 

yadla

XLDnaute Occasionnel
Re : Convertir string en format date

re pierrejean, bonjour didier, le forum,

Merci à tous les deux de m'avoir aidé. Ca marche trop bien :cool:

J'ai ajouter format(...,le format) pour avoir exactement le meme texte mais sous format de date.

Merci encore, bonne journée
 

myDearFriend!

XLDnaute Barbatruc
Re : Convertir string en format date

Re Yadla,

Très bien, mais au risque de te décevoir, si tu utilises Format(), tu n'obtiens plus une Date mais simplement une nouvelle chaîne de caractères...

Si tu veux qu'Excel affiche la date avec la mention du jour de la semaine, tout en conservant la notion de Date, ce n'est pas en macro qu'il faut voir le pb mais avec le format de cellule directement.

Cordialement,
 

Discussions similaires

Statistiques des forums

Discussions
312 347
Messages
2 087 499
Membres
103 562
dernier inscrit
soso21