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 :

[debutant]Transformer chiffres en date


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    retraite
    Inscrit en
    Août 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : retraite

    Informations forums :
    Inscription : Août 2015
    Messages : 2
    Points : 3
    Points
    3
    Par défaut [debutant]Transformer chiffres en date
    Bonjour à tous,

    En VBA sous excel 2013
    Un peu beaucoup novice, j'ai récupéré un fichier dans lequel il y a dans la colonne toute un série de chiffre qui correspondent à des dates que je voudrais transformer en date : jj/mm/aaaa

    Exemple : 20170421 (les 4 premiers chiffres correspondent à l'année, les 2 suivants au mois et les deux derniers pour le jour) pour avoir dans une autre colonne 21/04/2017.
    Est possible ?

    D'avance merci pour vos réponses.

  2. #2
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 433
    Points
    12 433
    Par défaut
    Bonjour
    Utilise Left, Mid et Right (fonctions à lire dans ton ide VBA interne) pour déterminer l'année, le mois et le jour.
    Le reste est ensuite trop simple (une simple concaténation).

  3. #3
    Expert éminent

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 138
    Points : 9 972
    Points
    9 972
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    j'ajouterais qu'au lieu d'une concaténation, l'utilisation de la fonction DateSerial() serait plus appropriée afin d'obtenir une Date et pas une Chaîne de caractère

    un exemple parlant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub tttt()
    Dim toto As Variant, titi As Variant, MonMot As String
    MonMot = "20170421"
    toto = DateSerial(Left(MonMot, 4), Mid(MonMot, 5, 2), Right(MonMot, 2))
    titi = Right(MonMot, 2) & "/" & Mid(MonMot, 5, 2) & "/" & Left(MonMot, 4)
    Debug.Print "titi =" & titi & " est de type " & TypeName(titi)
    Debug.Print "toto =" & toto & " est de type " & TypeName(toto)
    End Sub

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par dysorthographie Voir le message
    Bonjour,
    format("20170421","####-##-##")

  5. #5
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 433
    Points
    12 433
    Par défaut
    Bonjour joe.levrai
    je n'ai pas osé (au stade de débutant) aller à ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    monmot = "20170421"
    MsgBox CDate((Format(monmot, "@@@@/@@/@@")))

  6. #6
    Invité
    Invité(e)
    Par défaut
    Oui UnParia je me suis trompé!
    cdate(format("20170421","0000-00-00"))

  7. #7
    Candidat au Club
    Homme Profil pro
    retraite
    Inscrit en
    Août 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : retraite

    Informations forums :
    Inscription : Août 2015
    Messages : 2
    Points : 3
    Points
    3
    Par défaut MERCI
    Probleme résolu, un grand merci à tous

Discussions similaires

  1. [XL-2010] Vba Application.VLookup excel transforme les chiffres en DATE :(
    Par wkrystof1 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/04/2017, 20h44
  2. [XL-2007] Transformer une saisie de 3 chiffres en date et heure
    Par apt dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 19/01/2015, 15h23
  3. [Debutant] Transformer un string en date
    Par -={-_-}=- dans le forum Langage SQL
    Réponses: 3
    Dernier message: 26/03/2009, 12h22

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