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 :

Changer un format de date [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2012
    Messages : 121
    Par défaut Changer un format de date
    Bonjour aux experts

    J'ai un fichier excel avec une tonne de date de répondants. Je veux déterminer leur âge, mais la fonction =DATEDIF(A2;AUJOURDHUI();"y") demande que la date de naissance soit de ce format AAAA-MM-JJ alors que dans mon fichier elles sont dans ce format MM-JJ-AAAA.

    Je voulais faire une macro pour changer les dates des répondants de MM-JJ-AAAA à AAAA-MM-JJ. Pour y arriver me faudrait du code qui permettrait de lire l'information d'une cellule jusqu'à de que j'arrive à un "-" et la mettre dans une case mémoire#1, ensuite, lire les infos jusqu'au deuxième "-" et mettre dans une case mémoire#2, pour ensuite lire le reste et mettre dans une case mémoire#3

    ensuite je devrai reconstruire les infos en mettant un "-" entre chacune d'elles Mémoire#3"-"Mémoire#1"-"Mémoire#2

    Voilà....

    Évidemment, si vous avez une meilleure solution (ce qui sera probablement le cas) je vous en prie!

    merci beaucoup

  2. #2
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonjour
    Citation Envoyé par isrdum Voir le message
    mais la fonction =DATEDIF(A2;AUJOURDHUI();"y") demande que la date de naissance soit de ce format AAAA-MM-JJ alors que dans mon fichier elles sont dans ce format JJ-MM-AAAA
    La fonction fonctionne avec la valeur qui doit être numérique de la cellule et ne s'occupe absolument pas du format.

    Si elle ne fonctionne pas sur ton classeur c'est que tu as du texte et non un nombre de jours depuis 1900.

    Avec le format 'mercredi 13 décembre 1995' saisi correctement (13/12/95) tu auras ton résultat =22

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2012
    Messages : 121
    Par défaut
    Citation Envoyé par anasecu Voir le message
    Bonjour


    La fonction fonctionne avec la valeur qui doit être numérique de la cellule et ne s'occupe absolument pas du format.

    Si elle ne fonctionne pas sur ton classeur c'est que tu as du texte et non un nombre de jours depuis 1900.

    Avec le format 'mercredi 13 décembre 1995' saisi correctement (13/12/95) tu auras ton résultat =22
    Merci de votre réponse

    Pourtant lorsque manuellement je replace les bons nombres aux bonnes places dans le format AAAA-MM-JJ, le calcul de l'âge s'effectue sans que j'aie modifié l'élément "nombre" de la cellule

  4. #4
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    re

    Citation Envoyé par isrdum Voir le message
    Pourtant lorsque manuellement je replace les bons nombres aux bonnes places dans le format AAAA-MM-JJ, le calcul de l'âge s'effectue sans que j'aie modifié l'élément "nombre" de la cellule
    Comment tu replaces sans saisie de la valeur ? simplement en changeant de format ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2012
    Messages : 121
    Par défaut
    Citation Envoyé par anasecu Voir le message
    re

    Comment tu replaces sans saisie de la valeur ? simplement en changeant de format ?
    Merci Anasecu

    Effectivement j'ai fait un test. Lorsque je change le format de la cellule en "nombre" ou en "date", rien ne se passe..... Je crois que tu as vu juste, je suis en format texte! Maintenant, comment est-ce que je peux convertir le tout en format nombre

  6. #6
    Membre Expert Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 733
    Par défaut
    Bonjour,
    Sub test()
    Z = Range("a1").Value 'Valeur cellule texte
    Range("b2") = CDate(Z) 'Devient une date
    End Sub
    Cordialement

  7. #7
    Membre Expert
    Inscrit en
    Septembre 2007
    Messages
    1 142
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 142
    Par défaut
    Bonjour,
    Citation Envoyé par isrdum Voir le message
    comment est-ce que je peux convertir le tout en format nombre
    Pour convertir toute ta colonne A
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim cel As Range
        For Each cel In ActiveSheet.UsedRange.Columns(1)
            cel.Value = CDate(DateValue(cel.Value))
        Next cel

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

Discussions similaires

  1. Comment changer le format de DATE dans Oracle
    Par khanfir dans le forum Oracle
    Réponses: 3
    Dernier message: 20/04/2010, 20h55
  2. [access] Changer le format de dates
    Par lili1985 dans le forum Access
    Réponses: 5
    Dernier message: 10/07/2008, 15h46
  3. [DTS et VBScript] changer un format de date
    Par telynette dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 21/11/2007, 18h46
  4. Changer le format de date de SharePoint
    Par zghidi dans le forum SharePoint
    Réponses: 1
    Dernier message: 29/08/2007, 10h44
  5. Changer le format de date en dd/mm/yy
    Par polianita dans le forum Access
    Réponses: 6
    Dernier message: 21/08/2006, 15h26

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