[VBA/Excel] afficher les heures

Fermé
nightcyborg - 23 févr. 2009 à 11:23
 nightcyborg - 23 févr. 2009 à 11:53
Bonjour,


j'ai un petit soucis avec excel. j'ai réalisé une macro qui récupère des durée (ex : hh:mm:ss), mais le probléme c'est qu'excel n'affiche pas les heures si elles sont égales à 0. mais moi j'ai besoin que les heures soient affichées.

exemple :

actuellement j'ai ça
357:35:27
58:05
13:54:41

je voudrais ça :
357:35:27
00:58:05
13:54:41

voila la partie de mon code qui devrait ajouter ces 0 et le ":" :

For i = 1 To nblignes

Cells(i, 7).Select
If InStr(CStr(Cells(i, 7).Value), ":") And Len(CStr(Cells(i, 7).Value)) = 5 Then
Cells(i, 7).Value = CStr("00:" & CStr(Cells(i, 7).Value))
End If

Cells(i, 8).Select
If InStr(CStr(Cells(i, 8).Value), ":") And Len(CStr(Cells(i, 8).Value)) = 5 Then
Cells(i, 8).Value = CStr("00:" & CStr(Cells(i, 8).Value))
End If

Next i

j'ai pu déduire qu'Excel ne rentrait pas dans mes IF a cause de cette clause : InStr(CStr(Cells(i, 8).Value), ":")
donc le "00:" ne s'ajoute pas.

merci de m'avoir lu, et si vous avez une solution, merci de m'aider.
A voir également:

2 réponses

je viens de me rendre compte qu'excel concidére pour je ne sais quelle raison que les celule contenant uniquement les minutes et les secondes font 17 caractéres et celles qui ont les heures entre 16 et 17. ce qui est bien plus que le nombre de caractéres visible.
0
bon, en fait ce sont les minutes qui ne sont pas affichées.

excel stock ces donnée dans un format "personnalisé". je sais comment changer ce format pour qu'il affiche tout manuellement, mais je voudrais le faire via une macro.
0