Calcul sur des heurs en VBA

Anonyme
2024-07-05T07:18:58+00:00

Bonjour,

Je récupère des données de SAP avec des dates et des heures

En VBA je traite ces données et je rencontre un problème avec la compatibilité des heures récupérées et des heures que j'encode à l'aide de VBA

J'essaie de convertir les données au format heure avec l'instruction TimeValue, mais j'ai toujours un message d'erreur d'incompabilité de type.

Je dois retrancher la valeur de la cellule à "23:59:59"

Voici toutes les méthodes que j'ai essayées

    Hrs = TimeValue(Cells(Ligne, HDebut).Value) 

    Hrs2 = TimeValue("23:59:59") 

    Hrs = Hrs2 - Hrs 

    'Hrs = Format(TimeValue("23:59:59") - Hrs, "hh:mm:ss") 

    'Hrs = TimeValue("23:59:59") - Hrs 

    'Hrs = "23:59:59" - Hrs 

    HrsDeci = Val(Left(Hrs, 2)) + Val(Mid(Hrs, 4, 2)) / 60 + Val(Right(Hrs, 2)) / 3600

Quelqu'un peux m'aider

Je vous remercie d'avance

Microsoft 365 et Office | Excel | Autres | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire

5 réponses

  1. Anonyme
    2024-07-05T10:38:07+00:00

    Hello

    Daniel vous demandait "Quel est le contenu de la cellule ?" et je pense que dans que vous n'aurez pas répondu à cette question on risque de ne pas pouvoir vous aider plus

    Pourriez vous mettre à disposition un exemple du fichier que vous traitez sur un site comme https://www.cjoint.com/ ?

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2024-07-05T10:35:39+00:00

    S'il s'agit bien de texte avec des guillemets (suite à une importation style CSV, je présume, exemple "12:52:08"), tu peux essayer :

    Hrs = Val(Mid([A1], 2, 2)) / 24 + Val(Mid([A1], 5, 2)) / 1440 + Val(Mid([A1], 8, 2)) / 86400

    Range("A2") = TimeValue("23:59:59") - Hrs

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. Anonyme
    2024-07-05T09:09:42+00:00

    La cellule reçoit une copie d'une donnée venant de SAP.

    Si je regarde l'alignement c'est du texte et dans le debug le TimeValue est sans quote alors que la cellule est avec quote.

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  4. Anonyme
    2024-07-05T07:37:09+00:00

    Que contient exactement la cellule d'origine ? Chez moi, après saisie de 12:52:08 en cellule A1, la ligne suivante fonctionne (résultat 11:07:51) :

    TimeValue("23:59:59")-Range("A1").Value

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  5. Anonyme
    2024-07-05T07:30:41+00:00

    Bonjour,

    Quel est le contenu de la cellule ? Est-ce du texte (nombres format texte) ou du numérique ?

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire