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 :

Comment insérer date et heure (datetime) dans une cellule


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 241
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 241
    Par défaut Comment insérer date et heure (datetime) dans une cellule
    Bonjour tout le monde,


    J'ai une macro excel qui me répertorie les fichiers d'un répertoire avec la taille. Les fichiers sont horodaté, je me suis donc créé une petite fonction de parsing avec regex.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Dim annee As Integer, mois As Integer, jour As Integer, heure As Integer, minute As Integer 
    'oFile.Name => correspond au nom du fichier que je passe en premier paramère (par valeur)
     
    parseDate oFile.Name, annee, mois, jour, heure, minute

    Je récupère donc annee, mois, jour, heure, minute sont passé par référence et je récupère donc les valeurs.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Columns("E:E").NumberFormat = "dd/mm/yyyy"
    With wksDest
    ...
    ...
    .Cells(iRow, 5) = DateSerial(annee, mois, jour)
    ...
    End With
    PS : Je ne mets pas tout le code parce que ce n'est pas intéressant je pense et cela complexifierai la compréhension.



    Dans mon feuille excel, j'ai donc les colonnes suivantes :
    - le nom du fichier => ok, c'est bon
    - la taille => ok
    - la date => ok
    - le datetime (au format dd/mm/yyyy hh:mm) => ko

    Et c'est là que je bloque.

    J'ai vu qu'il existait une fonction Date : https://msdn.microsoft.com/en-us/lib...=vs.90%29.aspx
    mais il semblerait que ce ne soit que du VB à moins peut être qu'il faille insérer une dll dans l'éditeur (Menu outil => référence)

    Comment puis je insérer les valeurs de annee, mois, jour, heure, minute dans une cellule Excel ?
    Quel fonction dois je utiliser ?



    NB : merci à toi Pierre pour l'insertion d'une date avec DateSerial.
    http://www.developpez.net/forums/d28...ba-reutiliser/

  2. #2
    Membre éprouvé

    Profil pro
    MOA
    Inscrit en
    Décembre 2002
    Messages
    1 241
    Détails du profil
    Informations personnelles :
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : MOA

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 241
    Par défaut
    Bon j'ai trouvé une solution vraiment pas propre du tout. Je fais une affectation de la date dans la variable puis j'aditionne les heures puis les minutes


    Pour ma colonne F :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Columns("F:F").NumberFormat = "dd/mm/yyyy hh:mm"
     
    parseDate oFile.Name, annee, mois, jour, heure, minute
    dateTime = DateSerial(annee, mois, jour)
    dateTime = DateAdd("h", heure, dateTime)
    dateTime = DateAdd("n", minute, dateTime)
     
    Set wksDest = ActiveSheet
    With wksDest
    .Cells(iRow, 6).Formula = dateTime
    End With
    Je ne mets pas pour le moment en résolu au cas ou il y ait une solution plus propre.

    Je me suis aidé des pages suivantes :
    http://www.classanytime.com/mis333k/sjdatetime.html => liste l'ensemble des fonctions Date
    http://www.globaliconnect.com/excel/index.php => avec quelques exemples en plus

  3. #3
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    TimeSerial + Date Serial

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    msgbox dateserial(2016,12,16)+timeserial(16,03,00)

Discussions similaires

  1. Réponses: 10
    Dernier message: 07/08/2019, 15h52
  2. Réponses: 2
    Dernier message: 26/03/2013, 14h39
  3. Réponses: 2
    Dernier message: 06/05/2008, 10h52
  4. Date et Heure Auto dans une table
    Par zoreille6 dans le forum Access
    Réponses: 5
    Dernier message: 11/01/2007, 12h45
  5. Réponses: 6
    Dernier message: 07/11/2006, 09h23

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