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

Word Discussion :

Calcul heures en décimale [WD-2007]


Sujet :

Word

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 020
    Points : 169
    Points
    169
    Par défaut Calcul heures en décimale
    Bonjour,
    Je suis entrain de faire un formulaire et pour l'aide au saisissant, je voudrais inscrire, dans un champ, l'heure indiquée dans un autre champ au format HH:mm, au format 0,00.
    Pour l'instant, dans un tableau à deux cellule / 1 colonne je rentre l'heure HH:mm dans un champ de formulaire et dans la cellule de gauche, je vais en suite dans la cellule de droite et, dans "DISPOSITION" ... "DONNEES" ... "FORMULE", j'ai essayé de traduire la formule excel:

    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =PRODUCT(SUM(HEUREACONVERTIR;-INT(HEUREACONVERTIR));24)
    au format
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =PRODUCT(SUM(HEUREACONVERTIR;-INT(HEUREACONVERTIR));24) \# "0,00"   \* MERGEFORMAT
    et j'obtiens désespérément 0,00.

    Après avoir fouillé, à la formule au format word additionne HH et mm.

    Par exemple, je rentre: 01:30, word calcule 31, 02:16 : 18.

    Quelqu'un pourrait me dépanner?

    Merci beaucoup d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Si c'est un champ de formulaire, il est beaucoup plus facile d'utiliser du VBA.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 020
    Points : 169
    Points
    169
    Par défaut
    Le but est que le saisissant saisisse un durée: HH:mm et qu'elle soit convertit en décimales.

    Je suis preneur pour du vba

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Un bout de code qui peut-être exécuté à la sortie d'un champ de formulaire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub TestOli()
    Dim myTime As Date
     
    myTime = ActiveDocument.FormFields(2).Result
     
    Debug.Print myTime
    Debug.Print CDbl(myTime)
     
     
     
    End Sub
    Dans ce cas, je demande juste l'affichage dans la fenêtre exécution du résultat.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  5. #5
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 020
    Points : 169
    Points
    169
    Par défaut
    Je prends ton code et trouve le bout pour inscrire le résultat dans un champ?

  6. #6
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 020
    Points : 169
    Points
    169
    Par défaut
    Quelque chose comme ça?:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    'Fields(1) : premier champ du document Word %%%
    WordDoc.Fields(1).Result.Text = "essai d'ecriture dans champ Word"

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 020
    Points : 169
    Points
    169
    Par défaut
    Je peux nommer le champ?

  8. #8
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 020
    Points : 169
    Points
    169
    Par défaut
    J'ai trouvé ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub TestOli()
    Dim myTime As Date
     
    myTime = ActiveDocument.FormFields("HEUREACONVERTIR").Result
     
    'Debug.Print myTime
    'Debug.Print CDbl(myTime)
     
     ActiveDocument.FormFields("HEUREDECIMALES").Result = myTime
     
    End Sub
    qui me renvoie:

    23000,00 quand je tape: 02:30

    Ce n'est pas le résultat escompté mais on approche.

    Au fait, la valeur qu'il me faudrait récupérer est:

    (myTime - ent(myTime))*24

    Je pense que ça n'est pas aussi simple?

  9. #9
    Membre habitué
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 020
    Points : 169
    Points
    169
    Par défaut
    J'ai été pessimiste:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub TestOli()
    Dim myTime As Date
     
    myTime = ActiveDocument.FormFields("HEUREACONVERTIR").Result
     
    'Debug.Print myTime
    'Debug.Print CDbl(myTime)
     
     ActiveDocument.FormFields("HEUREDECIMALES").Result = (myTime - Int(myTime)) * 24
     
    End Sub
    fonction parfaitement!!!!!!

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

Discussions similaires

  1. Calcul heure dans une requête
    Par Accessbeotien dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 07/09/2007, 10h12
  2. bouton d'impression + pb calcul heures
    Par brewen dans le forum Excel
    Réponses: 6
    Dernier message: 29/07/2007, 00h51
  3. [Formule] Calcul Heures AVEC EXCEL
    Par JLDEB dans le forum Excel
    Réponses: 2
    Dernier message: 16/04/2007, 17h08
  4. Calcul Heure format "hh:mm"
    Par bnisaid dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 26/03/2007, 10h56
  5. Calcul heure UCT par rapport à heure locale
    Par bobic dans le forum Oracle
    Réponses: 1
    Dernier message: 11/05/2006, 22h45

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