Bienvenue sur les forums conseil & création · S'enregistrer

Se connecter automatiquement

Forums » Tableurs et logiciels de gestion (Money, Excel, Open Office...) » Excel - Modifier le format des dates · Envoyer le lien

Par will, le 04 Juin 2005, 22:19 Revenir en haut de page Répondre en citant

Salut à tous ,
je viens de découvrir excel cette année et je trouve cet outil vraiment fabuleux mais voila je fait des extractions à partir d'un logiciel, movex pour ne pas citer et le format de la date est au format américain =>20053102 Crying or Very sad
Je souhaiterais le mettre dans un format exploitable => 02/31/2005.
Cepandant je ne connais pas du tout les commandes pour les macros !!!
Est-ce possible ?
Par Cédric, le 05 Juin 2005, 12:59 Revenir en haut de page Répondre en citant

Salut,

Avant tout, tu n'obtiendras rien de "20053102" ! Parce qu'un mois de février de 31 jours... Excel ne connaît pas Wink . Donc pour l'exemple je me base sur le 28 février. Pour que cette date récupérée soit exploitable dans Excel, il faut la transformer en numéro de série (Excel enregistre les dates sous la forme de numéros de série pour effectuer des calculs de date).

1. Conversion en numéro de série

En supposant que ta date soit dans la cellule A1, tu peux utiliser cette fonction en B1 (voir explication détaillée plus bas...) :

Code:
=DATEVAL(CONCATENER(GAUCHE(DROITE(A1;4);2);"-";DROITE(A1;2);"-";GAUCHE(A1;4)))



2. Formatage du numéro de série

Le numéro de série du 28 février 2005 est 38411, ce qui ne ressemble en rien à une date... mais c'est normal ! Il faut maintenant changer le format de cellule : menu Format / Cellule, onglet Nombre, catégorie Date. Tu as le choix entre plusieurs formats possibles de date.

Arrow 38411 est automatiquement remplacé par la date, selon le format choisi.


3. Explication, pour ceux qui ne connaissent pas ces fonctions :
  • On va donc utiliser la fonction DATEVAL, qui convertit une date (au format texte) en numéro de série.

  • Mais la fonction DATEVAL ne fonctionnera pas avec "20052802", il faut donc recomposer la date pour qu'elle puisse être utilisée par la fonction (par exemple "28-02-2005"):
    • on décompose d'abord la date pour obtenir le jour, le mois, et l'année. On utilise pour cela les fonctions GAUCHE et DROITE.
    • il faut ensuite recomposer le tout au bon format. On va donc utiliser la fonction CONCATENER.


Pour récupérer le jour (20052802) : on récupère les 4 derniers chiffres puis les 2 premiers.
Cédric a écrit:
GAUCHE(DROITE(A1;4);2)


Pour récupérer le mois (20052802) : on récupère les 2 derniers chiffres.
Cédric a écrit:
DROITE(A1;2)


Pour récupérer l'année (20052802) : on récupère les 4 premiers chiffres.
Cédric a écrit:
GAUCHE(A1;4)


On recompose le tout avec des tirets :
Cédric a écrit:
CONCATENER(JOUR;"-";MOIS;"-";ANNEE)


On a donc une chaîne, que l'on peut utiliser avec DATEVAL, ce qui donnera :
Cédric a écrit:
=DATEVAL("28-02-2005")

Code:
=DATEVAL(CONCATENER(GAUCHE(DROITE(A1;4);2);"-";DROITE(A1;2);"-";GAUCHE(A1;4)))


N'hésites pas si tu as des questions.

Cédric.
Par will, le 07 Juin 2005, 17:06 Revenir en haut de page Répondre en citant

merci à toi, effectivement l'exemple été mal choisi !!!!
Par Cédric, le 07 Juin 2005, 17:11 Revenir en haut de page Répondre en citant

Pas de quoi... ça te va ? Tu as réussi à l'adapter à ton fichier ?
Par will, le 08 Juin 2005, 17:35 Revenir en haut de page Répondre en citant

j'ai compris cependant lors du debogage il me jette le point-virgule de

DROITE(A1;4);
Par Cédric, le 08 Juin 2005, 18:06 Revenir en haut de page Répondre en citant

Ah... celui de GAUCHE(DROITE(A1;4);2) ?

Pourtant il n'y en a pas de trop : il y a deux fonctions... donc deux point-virgule ?!

Citation:
GAUCHE(DROITE(A1;4);2)


Enfin le principal, c'est que ça fonctionne.

@+, Cédric

Forums » Tableurs et logiciels de gestion (Money, Excel, Open Office...) » Excel - Modifier le format des dates · Envoyer le lien