addition d'heures

Jimrcl

XLDnaute Occasionnel
Bonjour le forum,
comment faire une addition d'heure?
quel est le format qu'il faut mettre dans la cellule car mes heures sont de type hh:mm:ss.
en mode debug dans ma macro je vois qu'il prend en compte des jours (0.3333) pour (08:00:00).

voici la boucle:
L = WSD.Range('AA65536').End(xlUp).Row + 1 ' On identifie la dernière ligne vide en partant du bas
'Calcul machines concernées par defauts prédisposition
For i = 22 To L
If Cells(i, 29) > '07:02:02' Then
Cells(1, 1) = Cells(1, 1) + Cells(i, 29)
End If
Next i

accrochez vous je vous explique,
cells(1,1) est vide et au format (heure 37:30:55)
la colonne AA ou 29 est une colonne copier coller avec liaisons via un fichier où toutes les données était au format texte, y compris les dates et heures et nombre.( c très con mais c comme çà)
dans mon fichier où j'ai coller avec liaison, j'ai remis ces heures au meme format que l'autre,
cad heure 37:30:55

la première boucle s'execute mais cells(1,1) prend 0.3333 au lieu de 08:00:00=cells(22,29)
du coup pour la deuxième itération çà plante...
j'ai essayé tous les formats d'heure en vain.Quelqu'un pourrait il m'aider please!!!!!!!!
Help me!!!
I'm disappointed...
Thanks
merci déjà pour avoir lu jusqu'ici !!!!!!
tchao
 

dg62

XLDnaute Barbatruc
Salut JimRCL

Quel bon vent ?



Pour répondre à ta question, tu dois mettre la cellule de reception au format personnalisé [h]:mm:ss.

avec un exemple vba pour convertir ton heure en décimal et faire le test par rapport à une valeur décimale.
7.03 représente 7:02:02 en décimal
Code:
Sub cumul heure()

For i = 1 To 29
If Range('E' & i).Value * 24 > 7.0333 Then
Range('a1') = Range('A1').Value + Range('E' & i).Value
End If

Next i
End sub

Cordialement

Message édité par: dg62, à: 28/06/2005 16:34

Message édité par: dg62, à: 28/06/2005 16:58
 

guitarde

XLDnaute Junior
Bonjour,

Ca me semble normal que la macro utilise 0.3333 pour 8h00 car c'est la valeur qui est contenue dans la cellule.

Si tu mets dans une cellule 7:02:02, et que tu affiche la cellule en format nombre tu obtiendras 0.293078703703704

Tu dois donc changer ton code pour:
If Cells(i, 29) > 0.293078703703704 Then

Salutations
Eric
 

dg62

XLDnaute Barbatruc
Bonsoir le Forum

Bonsoir Jimrcl


Il est dans les habitudes du forum de faire un retour d'informations sur les solutions données.

Tu as posté aujourd'hui pour un autre sujet sans daigner répondre au premier post !


Penses-tu que la prochaîne nous serons aussi réceptif à ta demande ?


Bonne soirée
 

Discussions similaires

Réponses
2
Affichages
411

Statistiques des forums

Discussions
312 113
Messages
2 085 422
Membres
102 886
dernier inscrit
eurlece