IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Format de date [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2013
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 22
    Points : 12
    Points
    12
    Par défaut Format de date
    Bonjour à tous,

    J'ai un fichier source avec des données et notamment une qui est du type :
    "15.01.2013 08:00".
    Le format de cette donnée nèst pas une date mais du texte.

    Je souhaite transformer ce texte en format date sans les heures. Pour cela j'utilise cette formule:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(origine).Value = DateValue(Replace(Cells(destination).Value, ".", "/"))
    Ca marche à peu près, à savoir que le format est bien en date et sans les heures. Sauf que le format de la date se modifie automatiquement en plein milieu, une fois arrivé au 12eme jour du mois.
    Je pense qu'il doit y avoir un rapport avec les formats anglais et autres, et qu'il commence dans un format jusqu'a atteindre le 13 mois... cela n'etant pas possible, il change automatiquement de format.

    J'ai essayé d'appliquer la fonction format, mais cela ne fonctionne pas...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(origine).Value = CDate(Format(Cells(destination).Value, "dd.mm.yyyy"))
    Merci pour votre aide!!

    Eric

  2. #2
    Membre du Club
    Homme Profil pro
    En retraite
    Inscrit en
    Septembre 2003
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : En retraite
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2003
    Messages : 31
    Points : 44
    Points
    44
    Par défaut Et oui, vive les formats nationaux
    Bonjour Eric

    Ton "Probléme" est un pb Windows (et non Excel). Sans entrer dans le detail, c'est comme s'il se disait : Je n'arrive pas à convertir en date ==> elle doit être dans un mauvais format ==> je vais en essayer un autre et Vlan...

    C'est caractéristique des algo dont les dates fonctionnent jusqu'au 12 et se plantent à partir du 13!! et encore, faut-il valider le résultat dans le 1 cas. Pour y avoir travailé pendant quelques mois par le passé et pas mal échangé sur des forums US, Il n'ya pas de solution générale à ce problème: il n'y a que des solutions particulières.

    Dans ton cas (et puisque tu es sur du format) je passerais par un Dateserial (Y,M,D) en prenant les valeurs dans la chaine par mid, split ou tout autre methode
    Salut
    /.*/{AWK}

  3. #3
    Invité
    Invité(e)
    Par défaut Bonjour, regarde ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Cells(origine).NumberFormat = "mm/dd/yyyy"
    Cells(origine).Value = CDate(Format(Cells(destination).Value, "yyyy-mm-dd"))

  4. #4
    Membre à l'essai
    Inscrit en
    Juillet 2013
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 22
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par rdurupt Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Cells(origine).NumberFormat = "mm/dd/yyyy"
    Cells(origine).Value = CDate(Format(Cells(destination).Value, "yyyy-mm-dd"))
    Salut Robert!

    Je viens de tester tes lignes et j'ai en retour un message d'erreur:
    "Run Time error 13
    Type Mistmatch"

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2013
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 22
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par Gourou AWK Voir le message
    Bonjour Eric

    Ton "Probléme" est un pb Windows (et non Excel). Sans entrer dans le detail, c'est comme s'il se disait : Je n'arrive pas à convertir en date ==> elle doit être dans un mauvais format ==> je vais en essayer un autre et Vlan...

    C'est caractéristique des algo dont les dates fonctionnent jusqu'au 12 et se plantent à partir du 13!! et encore, faut-il valider le résultat dans le 1 cas. Pour y avoir travailé pendant quelques mois par le passé et pas mal échangé sur des forums US, Il n'ya pas de solution générale à ce problème: il n'y a que des solutions particulières.

    Dans ton cas (et puisque tu es sur du format) je passerais par un Dateserial (Y,M,D) en prenant les valeurs dans la chaine par mid, split ou tout autre methode
    Salut
    Salut et merci!
    J'ai implémenté comme tu m'as indiqué avec la fonction Dateserial et Mid pour extraires les caractères. Ca fonctionne parfaitement!
    Eric

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Format de date
    Par royrremi dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/06/2004, 17h32
  2. Détecter le format de date au démarrage
    Par stigma dans le forum Access
    Réponses: 2
    Dernier message: 20/02/2004, 11h04
  3. Réponses: 11
    Dernier message: 02/09/2003, 14h20
  4. Problème de Format de date
    Par titititi007 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/06/2003, 08h19
  5. Réponses: 3
    Dernier message: 06/05/2002, 18h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo