Module CLASS - Actualisation zone calcul

  • Initiateur de la discussion Initiateur de la discussion max.lander
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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

Dernière édition:
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:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour