Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
Solution
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"
        ' ***********************************************************************************

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
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"
        ' ***********************************************************************************
 

eric72

XLDnaute Accro
hello Toofatboy,
Merci beaucoup, ça fonctionne nickel!!!
Bonne journée sous la neige.
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…