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 :

Soustraction de date en vba et format de sortie [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 183
    Par défaut Soustraction de date en vba et format de sortie
    Bonjour,

    J'ai un problème avec des dates, prenons par exemple deux dates :

    12/04/2014 18:51 qu'on appellera DateDeb et
    15/04/2014 14:15 qu'on appellera DateFin.

    J'aimerai pouvoir calculer l'intervalle de temps entre ces deux dates et avoir le résultat sous cette forme :
    "67:15:00". Hors actuellement, lorsque je fais la soustraction directe de ces dates, j'ai une valeur du genre : "19:24:00" donc en gros il ne cumule pas les heures et redémarre à 0 quand les heures sont > à 24.

    Y a-t-il une manière de faire un peu à la manière des cellules excel de forcer le format Date à utiliser le format [hh]:mm:ss ?

  2. #2
    Membre Expert
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Par défaut
    Bonjour,

    Regarde la fonction DateDiff()

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 183
    Par défaut
    Bonjour pc75 ,

    Eh bien au départ j'utilisais DateDiff() mais le problème c'est que celle ci retourne un type entier et non une date :S.

    Cf : http://msdn.microsoft.com/fr-fr/libr...=vs.90%29.aspx

  4. #4
    Membre Expert Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 903
    Par défaut
    Bonjour,
    Je n'ai pas tout lu mais tu as l'option Format ou alors, tu convertis ton code de façon à obtenir ton résultat en format texte.
    Cordialement,

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 183
    Par défaut
    Bonjour Gado2600 ,

    En fait j'étais partie là dessus : Cstr(Format(Duree, "[hh]:mm:ss")) mais impossible à faire marcher :S

  6. #6
    Invité
    Invité(e)
    Par défaut Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub test()
    d = MyDateDiff("12/04/2014 18:51", "15/04/2014 14:15")
    End Sub
    Function MyDateDiff(Deb, Fin)
    d = DateDiff("s", Deb, Fin)
    s = d Mod 60
    h = (d - s) / 60
    m = h Mod 60
    h = (h - m) / 60
    MyDateDiff = h & ":" & Format(m, "00") & ":" & Format(s, "00")
    End Function
    Dernière modification par AlainTech ; 28/04/2014 à 00h33. Motif: Suppression de la citation inutile

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 183
    Par défaut
    Super merci ça fonctionne ! Bonne journée !

  8. #8
    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
    Une simple soustraction des 2 cellules accompagnée d'un format personnalisée de type [hh]:mm:ss

    Tu garderas de ce fait un résultat numérique que tu pourra exploiter

  9. #9
    Invité
    Invité(e)
    Par défaut
    c'est vrai mais bon! il n'avait pas l'air de trouver ça réponse!
    Dernière modification par AlainTech ; 28/04/2014 à 00h34. Motif: Suppression de la citation inutile

  10. #10
    Membre Expert Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 903
    Par défaut
    Et le marquage en "Résolu" ?

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

Discussions similaires

  1. Soustraction de dates formatées
    Par rlegeas dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 25/07/2007, 15h19
  2. [VBA-E] Format date SAP vers Excel
    Par Eva_75 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 16/07/2007, 14h38
  3. [VBA-E]Formats de dates, Trier, ajouter - A compléter
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 26/06/2007, 10h01
  4. [VBA-EXCEL] format de date lors d'écriture dans une cellule
    Par ustilago dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/02/2007, 17h44
  5. [VBA-E] format date/mois en entier : résultat bizarre
    Par illight dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/07/2006, 15h05

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