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 :

fonction vba excel problème avec hh:mm:ss [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 9
    Points : 8
    Points
    8
    Par défaut fonction vba excel problème avec hh:mm:ss
    Je m'essaie aux fonctions et en voici une que j'ai trouvé mais elle ne fonctionne pas alors qu'elle est simple de premier abord

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function TempsTrajet(Distance As Integer, Vitesse As Integer) As Date
    TempsTrajet = Format(Distance / Vitesse / 24, "hh:mm:ss")
    End Function

    lorsque dans le classeur , j'execute la fonction, mes heures ne sont pas formatées et reste en format décimal... ex : 0.536544

    par déduction, si je laisse seulement hh, ça fonctionne, ça bloque au niveau de mm, y aurait il une autre maniére de nommer les minutes..

    merci pour votre aide

  2. #2
    Expert éminent sénior 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
    Points : 31 877
    Points
    31 877
    Par défaut
    Bonjour,
    Temps trajet n'est pas une date (sous forme hh:mm:ss)
    un temps est un temps
    une date est une date
    si le temps du trajet est de 8h 30 min 25s
    le bonhome a parcouru cette distance en ce temps
    par contre "la date" 8h 30 min 25s signifie que je suis en retard au boulot de 25s
    ci-joint une fonction (bâclée) qui affiche le temps du trajet (as string)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Public Function TempsTrajet(ByVal Distance As Double, ByVal Vitesse As Double) As String
    Dim t As Double, mt As Double
    Dim h As Integer, m As Integer, s As Integer
    If Vitesse <> 0 Then
        t = Distance / Vitesse
        h = Int(t)
        mt = 60 * (t - h)
        m = Int(mt)
        s = Int(60 * (mt - m))
        TempsTrajet = Format(h, "00") & ":" & Format(m, "00") & ":" & Format(s, "00")
    End If
    End Function
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

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

Discussions similaires

  1. [Débutant] VBA Excel : problème avec la méthode Add
    Par epsilonzero dans le forum MATLAB
    Réponses: 3
    Dernier message: 20/04/2010, 11h02
  2. Réponses: 6
    Dernier message: 20/02/2007, 17h00
  3. [VBA-EXCEL] problème avec ma comparaison
    Par sebneb dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 03/02/2007, 13h19
  4. [VBA EXCEL] Problème d'éxécution avec graphiques
    Par RedBurn dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/11/2005, 09h55
  5. [VBA Excel] problème de range avec find
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/11/2005, 13h56

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