Microsoft 365 Textbox heure minute vers tableau en décimal

eric72

XLDnaute Accro
Bonjour à tous,
Je me permets de vous solliciter une nouvelle fois car je bloque, je m'explique.
J'ai un Userform nommé "UsfSaisieHeures" qui me permet de saisir des heures de travail, il y a un total général qui se calcule au fur et à mesure, jusque là tout va bien, par contre j'aimerais "exporter" ce Total Général vers ma feuille "ArchivesHrs" en décimal en non pas en heure minutes, j'ai fait plusieurs tentatives, notemment avec ce code
VB:
    With Sheets("ArchivesHrs")
    'On Archive le Lundi
        .Cells(ligcible, colcible).Value = Abs1.Value
        .Cells(ligcible + 1, colcible).Value = T1.Value
        .Cells(ligcible + 2, colcible).Value = T2.Value
        .Cells(ligcible + 3, colcible).Value = T3.Value
        .Cells(ligcible + 4, colcible).Value = T4.Value
        .Cells(ligcible + 5, colcible).Value = TotalLundi.Value
        .Cells(ligcible + 6, colcible).Value = TxtBqHrL.Value
        .Cells(ligcible + 7, colcible).Value = TimeValue(TotalGeneral.Value) * 24
        .Cells(ligcible + 8, colcible).Value = TimeValue(TotalAbs.Value) * 24
J'ai un message d'erreur de Incompatibilité de Type erreur 13 IC
Code:
 .Cells(ligcible + 7, colcible).Value = TimeValue(TotalGeneral.Value) * 24
        .Cells(ligcible + 8, colcible).Value = TimeValue(TotalAbs.Value) * 24
PS: pour faire l'essai, ouvrir le Userform, sélectionner dans "Semaine" 01/01/2024, puis cliquer dans la listbox, puis valider avec le bouton vert

Je m'en remets à votre savoir pour me dépatouiller de ce problème
Merci beaucoup
Eric
 

Pièces jointes

  • test.xlsm
    324.7 KB · Affichages: 4

vgendron

XLDnaute Barbatruc
Hello

Comme indiqué dans l'autre post.. le contenu d'un textbox est du texte
donc déjà.. textbox.value n'a pas vraiment de sens==> et faire une "opération" sur du texte.. ca ne marche pas
au lieu de timevalue (qui n'aime pas les durées >24h, je crois) , utilise application.text
VB:
With Sheets("ArchivesHrs")
    'On Archive le Lundi
        .Cells(ligcible, colcible).Value = Abs1.Value
        .Cells(ligcible + 1, colcible).Value = T1.Value
        .Cells(ligcible + 2, colcible).Value = T2.Value
        .Cells(ligcible + 3, colcible).Value = T3.Value
        .Cells(ligcible + 4, colcible).Value = T4.Value
        .Cells(ligcible + 5, colcible).Value = TotalLundi.Value
        .Cells(ligcible + 6, colcible).Value = TxtBqHrL.Value
        .Cells(ligcible + 7, colcible).Value = Application.Text(TotalGeneral, "[h]:mm") 'TimeValue(TotalGeneral.Value) * 24
        .Cells(ligcible + 8, colcible).Value = Application.Text(TotalAbs, "[h]:mm") 'TimeValue(TotalAbs.Value) * 24
 

eric72

XLDnaute Accro
Hello

Comme indiqué dans l'autre post.. le contenu d'un textbox est du texte
donc déjà.. textbox.value n'a pas vraiment de sens==> et faire une "opération" sur du texte.. ca ne marche pas
au lieu de timevalue (qui n'aime pas les durées >24h, je crois) , utilise application.text
VB:
With Sheets("ArchivesHrs")
    'On Archive le Lundi
        .Cells(ligcible, colcible).Value = Abs1.Value
        .Cells(ligcible + 1, colcible).Value = T1.Value
        .Cells(ligcible + 2, colcible).Value = T2.Value
        .Cells(ligcible + 3, colcible).Value = T3.Value
        .Cells(ligcible + 4, colcible).Value = T4.Value
        .Cells(ligcible + 5, colcible).Value = TotalLundi.Value
        .Cells(ligcible + 6, colcible).Value = TxtBqHrL.Value
        .Cells(ligcible + 7, colcible).Value = Application.Text(TotalGeneral, "[h]:mm") 'TimeValue(TotalGeneral.Value) * 24
        .Cells(ligcible + 8, colcible).Value = Application.Text(TotalAbs, "[h]:mm") 'TimeValue(TotalAbs.Value) * 24
Bonsoir vgendron,
Tout d'abord merci pour la réponse, en fait ce que j'aimerais c'est que si le total général est de 38:30, lors de l'archive, j'ai 38,5
Je me suis peut-être mal expliqué.
Merci beaucoup
 

TooFatBoy

XLDnaute Barbatruc
Hi,

Prop :
VB:
        ' ***********************************************************************************
        .Cells(ligcible + 7, colcible).Value = TotalGeneral.Value
        .Cells(ligcible + 7, colcible).Value2 = 24 * .Cells(ligcible + 7, colcible).Value2
        .Cells(ligcible + 7, colcible).NumberFormat = "0.00"
        ' ***********************************************************************************
        .Cells(ligcible + 8, colcible).Value = TotalAbs.Value
        .Cells(ligcible + 8, colcible).Value2 = 24 * .Cells(ligcible + 8, colcible).Value2
        .Cells(ligcible + 8, colcible).NumberFormat = "0.00"
        ' ***********************************************************************************
 

Statistiques des forums

Discussions
314 695
Messages
2 111 982
Membres
111 374
dernier inscrit
valneuro