Entrer un temps style 01:12:45 sans devoir saisir les deux point

Résolu
Jrm -  
 Jrm -
Bonjour,

Je souhaiterai entrer un temps

exemple : 1h12min45secc

De la façon suivante 011245 mais qu'il s'affiche automatiquement sous la forme 01:12:45

Je vous avoue que je coince un peu, le faire en VBA ou alors avec une formule ? :-(

Merci de vote aide

3 réponses

  1. Zoul67 Messages postés 2001 Statut Membre 149
     
    Bonjour,

    Par formule, tu peux t'inspirer de ça. https://answers.microsoft.com/en-us/office/forum/office_2007-excel/how-can-i-convert-from-hhmmss-to-hhmmss-in-excel/0506100b-9ab8-465d-a858-118abac522a2
    En VBA, ça doit être faisable, pas très compliqué via un UserForm mais a priori ralentit le classeur si saisie directe dans les cellules.

    A+
    0
    1. Jrm
       
      Meci,

      je n'ai pas tout compris en anglais, mais en essayant la formule qu'il donne :

      =--TEXT(A1,"00\:00\:00")

      Excel la refuse (bien entendu je remplace a1 par la case correspondante dans mon tableau.
      0
    2. Zoul67 Messages postés 2001 Statut Membre 149
       
      =TEXTE(A1;"00\:00\:00")
      (oui, TEXT devient TEXTE !) ou l'autre astuce avec MOD

      puis mettre au format la cellule en hh:mm:ss
      0
  2. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    Voilà en vba, a mettre dans la feuille concernée, pour la cellule A1, a adapter:

    Option Explicit
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Address = "$A$1" Then
    MonPremierTableau
        End If
    End Sub
    Sub MonPremierTableau()
        'Définit la taille du tableau et le type de données.
        Dim NomTableau(2) As String
        Dim i As Integer
        Dim chaine As String
        chaine = Range("A1").Value
       If Len(chaine) = 5 Then
       'Alimente les éléments du tableau
        NomTableau(0) = Left(chaine, 1)
        NomTableau(1) = Mid(chaine, 2, 2)
        NomTableau(2) = Right(chaine, 2)
       Else
        'Alimente les éléments du tableau
        NomTableau(0) = Left(chaine, 2)
        NomTableau(1) = Mid(chaine, 3, 2)
        NomTableau(2) = Right(chaine, 2)
           End If
    Range("A1").Value = NomTableau(0) & ":" & NomTableau(1) & ":" & NomTableau(2)
    End Sub
    


    J'ai été obligé de faire 2 options, car 0 en premier est supprimé
    0
  3. Jrm
     
    Merci à vous tous pour les solutions, ça marche au top !

    Merci encore
    0