Module CLASS - Actualisation zone calcul

max.lander

XLDnaute Occasionnel
Bonjour à tous,

J'utilise un module class pour actualiser du zone de calcul en heures mais impossible d'obtenir un calcul juste.
Les données disponible dans la feuille "BASEWPL" colonne L s'affichent correctement pour chaque journée mais impossible d'obtenir le bon total.

Comme vous pouvez le constater dans l'exemple en PJ pour le salaire Christophe semaine 5 (utiliser le spin bouton) le total est de 17:59 au lieu 41:59




Avez-vous une idée ? (je sais que mon code est très laborieux :( désolé )

Le calcul s'effectue dans le module class


Merci
 

Pièces jointes

  • Test heures .xlsm
    338.9 KB · Affichages: 39

Modeste geedee

XLDnaute Barbatruc
Bonsour®
Bonjour à tous,

J'utilise un module class pour actualiser du zone de calcul en heures mais impossible d'obtenir un calcul juste.
Les données disponible dans la feuille "BASEWPL" colonne L s'affichent correctement pour chaque journée mais impossible d'obtenir le bon total.

Comme vous pouvez le constater dans l'exemple en PJ pour le salaire Christophe semaine 5 (utiliser le spin bouton) le total est de 17:59 au lieu 41:59




Avez-vous une idée ? (je sais que mon code est très laborieux :( désolé )

Le calcul s'effectue dans le module class


Merci
utiliser le format de cellule : [hh]:mm
en VBA :
Selection.NumberFormat="[hh]:mm"
 

Lone-wolf

XLDnaute Barbatruc
Re à tous

Bonne nouvelle pour toi Max, mais remercie sutout Dranreb qui a donné une solution sur un autre post. Exemple à modifier par les Labels.

VB:
Private Sub UserForm_Initialize()
TextBox1.Text = "35:15"
TextBox2.Text = "38:30"

Heures(TextBox3) = Heures(TextBox1) + Heures(TextBox2)

End Sub

Property Let Heures(ByVal TBx As MSForms.TextBox, ByVal ValCel)
Dim H As Double
H = ValCel * 24 + 0.00001
TBx.Text = Int(H) & ":" & Format(Int((H - Int(H)) * 60), "00")
End Property

Property Get Heures(ByVal TBx As MSForms.TextBox)
Dim T() As String
T = Split(TBx.Text & ":", ":")
Heures = (T(0) + T(1) / 60) / 24
End Property

EDIT: en pj avec les labels. Double-clique sur la feuille
 

Pièces jointes

  • Classeur-exemple.xlsm
    18.1 KB · Affichages: 40
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Bonjour Max

De quels labels parles-tu?
As-tu pris cet exemple dans ton fichier Heures(Label_xxxx) = Heures(Label1) + Heures(Label2) etc ?
Pour les vides, il faut qu'ils affichent "00:00", test pour voir.
 
Dernière édition:

Statistiques des forums

Discussions
312 196
Messages
2 086 100
Membres
103 116
dernier inscrit
kutobi87