Problème d'addition de temps

white-spirit

XLDnaute Occasionnel
Bonjour le Forum,

je recherche de l'aide pour un problème d'addition de temps dans une macro.

la macro suivant fonctionne parfaitement, je travaille sur des temps en hh:mm:ss

Sub Bonification()

Dim Insertion As Integer
Dim Tavant As String
Dim Taprès As String
Dim Gain As String
Dim ligne As String

'repérer la ligne et récupérer le temps initial
ligne = ActiveCell.Row
Tavant = ActiveCell.Offset(0, 1).Value * 10

'boite de saisie du temps à RETIRER
Insertion = InputBox("Saisir le temps de bonification, en MINUTES (entre 1 et 90)", "BONIFICATION", "")

'convertir l'insertion en Minutes au format HH-MM-SS
Gain = Insertion * 60 / 86400 * 10

'marquer la bonification en vert
Range("F" & ligne).Value = Insertion
Range("F" & ligne).Font.ColorIndex = 10
'calcul du nouveau temps et insertion dans le tableau
Taprès = Tavant - Gain
Range("AA" & ligne).Value = Taprès / 10


La macro suivante ne fonctionne pas:

Sub Pénalisation()

Dim Insertion As Integer
Dim Tavant As String
Dim Taprès As String
Dim Perte As String
Dim ligne As String

'repérer la ligne et récupérer le temps initial
ligne = ActiveCell.Row
Tavant = ActiveCell.Offset(0, 1).Value * 100

'boite de saisie du temps à RETIRER
Insertion = InputBox("Saisir le temps de pénalisation, en MINUTES (entre 1 et 90)", "PENALISATION", "")

'convertir l'insertion en Minutes au format HH-MM-SS
Perte = Insertion * 60 / 86400 * 100

'marquer la bonification en rouge
Range("F" & ligne).Value = Insertion
Range("F" & ligne).Font.ColorIndex = 3

'calcul du nouveau temps et insertion dans le tableau
Taprès = (Tavant) + (Perte)
Range("AA" & ligne).Value = Taprès / 100


Ce que je constate :
dans la macro "bonification", la valeur Taprès (en décimales) est bien la différence entre Tavant et Gain .... Nickel !
dans la macro "pénalisation", la valeur Taprès se présente comme les 2 valeurs Tavant + Perte mises "bout à bout" !! ( il y a 2 virgules dans la chaine !). Je ne comprends pas pourquoi la soustraction fonctionne et pas l'addition ....

D'autre part, la 1ere macro ne fonctionne pas si j'enlève le coeff *10,....??!!

Merci d'avance à ceux qui sauront m'éclairer sur la solution ...

Cordialement

WS
 

Dranreb

XLDnaute Barbatruc
Re : Problème d'addition de temps

Bonjour
Utilisez le type Date pour TAvant et TAprès et Double pour Gain et Perte, et enlevez les parenthèses inutiles. Et simplifier vos formules: je ne comprend pas vos multiplication et division par 10 ou 100. Les temps, que ce soient des dates ou des heures, ne sont pas stockés dans les cellules en tel ou tel autre format: ce sont des nombres exprimés en jours, un point c'est tout. 1 jour = 1440 minutes.
Le format de la cellule ne fait que conditionner l’interprétation visuelle qui en est restituée et pas son contenu.
Cordialement.
 
Dernière édition:

Statistiques des forums

Discussions
312 380
Messages
2 087 800
Membres
103 664
dernier inscrit
wolvi71