Convertir une cellule au format DATE

Bonjour,

Mon problème concerne Excel 2000.

Dans la cellule A1, j'ai une date(12-31-2000) donc de la forme mm-dd-yyyy, mais au format texte, donc justifiée à gauche. Je voudrais convertir au format DATE le contenu de A1 dans B1. Pour mettre cette date en forme, je me suis fabriqué le petit programme en VBE suivant :

Private Sub CommandButton1_Click()
  Dim Jour, Mois, Année, MaDate As String

  Jour = Mid(Range("A1"), 4, 2)
  Mois = Left(Range("A1"), 2)
  Année = Right(Range("A1"), 4)
  MaDate = Jour & "-" & Mois & "-" & Année
  MaDate = Format(MaDate, "dd-mmm-yyyy")
  Range("B1") = MaDate
End Sub

La mise en forme fonctionne bien puisque j'obtiens 31-déc-2000. Le problème, c'est la cellule B1 reste au format TEXTE alors que j'aurais besoin du format DATE. Est-ce que la chose vous semble possible (la date au format TEXTE est imposée) ?

Merci d'avance.

Bonjour,

As-tu essayé la formule suivante en B1 :

=DATE(DROITE(A1;4);GAUCHE(A1;2);STXT(A1;4;2))

Ou bien essaye le code suivant :

Private Sub CommandButton1_Click() 
    [B1].FormulaLocal = "=DATE(DROITE(A1;2);GAUCHE(A1;2);STXT(A1;4;2))"
End Sub

édit : Salut vba-new

Bonjour dormeur, forum,

Sans passer par une macro, mets la formule suivante en B1 :

=CNUM(STXT(A1;4;2)&"/"&GAUCHE(A1;2)&"/"&DROITE(A1;4))

A1 représentant la date au format anglais.

STXT(A1;4;2) extrait le jour

GAUCHE(A1;2) extrait le mois

DROITE(A1;4) extrait l'année

CNUM permet de convertir du texte en nombre (une date étant un nombre pour excel).

Tu n'as ensuite plus qu'à mettre la cellule B1 au format date (clic droit -> Format de cellule -> Date)

Si problème, n'hésite pas à revenir.

A+

edit : bonjour raja, j'avais pas pensé à la fonction DATE

Merci à vous deux, les solutions =DATE() et =CNUM() fonctionnent parfaitement.

Un grand merci.

Rechercher des sujets similaires à "convertir format date"