Microsoft 365 Format heure non valable

  • Initiateur de la discussion Initiateur de la discussion Nanou42
  • 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 !

Nanou42

XLDnaute Nouveau
Bonjour à tous,

Je reçois un fichier sur lequel je dois faire des analyses.
Mais j'aurais besoin d'aide pour deux points
Je n'arrive pas à faire la somme des durée malgré que le format des cellules soit le bon.
Cela vient peut être de l'export.

Il me faudrait une macro pour pouvoir transformer un contenu jour: heure: minute: seconde en en heure: minute: seconde.
Le nombre de ligne etant aléatoire. J'ai mis un fichier

Merci
 

Pièces jointes

Bonjour.
Pour le 1er problème c'est parce que vous avez des texte en colonne C au lieu de nombres.
Par formule :
Dans la colonne où vous le voulez en ligne 5, à propager sur 2 lignes :
Code:
=GAUCHE($F5;CHERCHE(".";$F5)-1)+STXT($F5;CHERCHE(".";$F5)+1;8)
 
Dernière édition:
Bonjour.
Pour le 1er problème c'est parce que vous avez des texte en colonne C au lieu de nombres.
Par formule :
Dans la colonne où vous le voulez en ligne 5, à propager sur 2 lignes :
Code:
=GAUCHE($F5;CHERCHE(".";$F5)-1)+STXT($F5;CHERCHE(".";$F5)+1;8)
Bonjour Drandreb, merci pour ton aide. la transformation jour heure minute seconde fonctionne très bien. A moi de l'adapter. Merci
 
La fonction VBA qui fait la même chose :
VB:
Function CvJHMS(ByVal V)
   Dim TS() As String
   If TypeOf V Is Range Then V = V.Value
   If VarType(V) = vbString Then
      On Error Resume Next
      TS = Split(V, ".")
      CvJHMS = CDbl(TS(0)) + TimeValue(TS(1))
      If Err Then CvJHMS = V
   Else: CvJHMS = V: End If
   End Function
 
Dernière édition:
Vous pouvez aussi faire comme ça :
VB:
Sub test()
   ConvertirJHMS [F5:F22]
   End Sub
Sub ConvertirJHMS(ByVal Rng As Range)
   Dim TDon(), L As Long, TS() As String, HMS As Double
   TDon = Rng.Value
   For L = 1 To UBound(TDon, 1)
      If VarType(TDon(L, 1)) = vbString Then
         On Error Resume Next
         TS = Split(TDon(L, 1), ".")
         HMS = CDbl(TS(0)) + TimeValue(TS(1))
         If Err = 0 Then TDon(L, 1) = HMS
         On Error GoTo 0: End If
      Next L
   Rng.Value = TDon
   End Sub
 
Vous pouvez aussi faire comme ça :
VB:
Sub test()
   ConvertirJHMS [F5:F22]
   End Sub
Sub ConvertirJHMS(ByVal Rng As Range)
   Dim TDon(), L As Long, TS() As String, HMS As Double
   TDon = Rng.Value
   For L = 1 To UBound(TDon, 1)
      If VarType(TDon(L, 1)) = vbString Then
         On Error Resume Next
         TS = Split(TDon(L, 1), ".")
         HMS = CDbl(TS(0)) + TimeValue(TS(1))
         If Err = 0 Then TDon(L, 1) = HMS
         On Error GoTo 0: End If
      Next L
   Rng.Value = TDon
   End Sub
Terrible, exactement ce que je voulais, les valeurs sans jour (juste avec des hh:mm:ss) restent inchangées sans erreur. Merci.

Bien cordialement
 
Bonsour®
Je n'arrive pas à faire la somme des durée malgré que le format des cellules soit le bon.

Il me faudrait une macro pour pouvoir transformer un contenu jour: heure: minute: seconde en en heure: minute: seconde.

🙄 un format de nombre appliqué à un texte ne signifie pas nécessairement que le contenu réel de la cellule soit un nombre ...

😡 Maitrisez le B.A.BA des formules et feuilles de calcul, avant que décréter que VBA est la panacée...

essayez ceci en C26 :
={SOMME(1*(C3:C22))} ' validation par Ctrl-Maj-Entrée
format de cellule :
[hh]:mm:ss
1580302442525.png
 
Bonjour à tous,
Désolé de ne pas avoir répondu plus tôt
@ Modeste geedee, sincerement merci pour ton aide et ton conseil.
@ dysorthographie ta macro marche très bien, j'ai trouvé ceci qui donne le même résultat

Sub heure()
Range("A:A").NumberFormat = "General"
Range("A:A").Value = Range("A:A").Value
End Sub


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

Discussions similaires

Réponses
8
Affichages
807
Retour