Vba heures

Résolu
Zen -  
gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je vous souhaite à tous une bonne année :-)

J'ai un petit souci et j'espère pouvoir trouver de l'aide dans ce forum.

Voilà j'ai un tableau de D9:T400 ou je dois saisir des heures et je souhaiterais ne pas à avoir à saisir à chaque fois les ":". Est-ce que qqn à une solution à me proposer en VBA ?

Merci beaucoup:-)

6 réponses

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    Bonjour,

    La touche : n'est pas dans le pavé numérique mais si tu crées une correction automatique qui remplace .. par : cela devrait faciliter ta saisie.
    C'est plus simple que de créer une usine à gaz en macro.
    1
    1. Zen
       
      Merci beaucoup pour cette astuce gbinforme :-) ;-)
      0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    Une tentative ... quand même "d'usine à gaz" (salut à gbinforme en passant)
    https://www.cjoint.com/?3AfluLjsrdO

    Cdlmnt
    1
    1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
       
      Bonjour ccm81 et meilleurs voeux pour 2015 !

      Bravo pour la réalisation même si je penses que les saisies en dehors des normes excel risquent d'apporter plus de désagréments que d'avantages mais pourquoi ne pas risquer ! ;-)
      0
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Comme ceci?
    https://www.cjoint.com/?3AfoMXeyOfS

    Et lorsque j'écris 05:00:00 ca me le transforme en 02:00:00, pourquoi ? :-)

    Attention la saisie des temps doit se faire sur 4 chiffres (au format hhmm soit par exemple 0230 pour 2h30mn)

    Cdlmnt
    1
  4. Zen
     
    Superbe, c'est exactement ce que je voulais mais si je n'abuse pas trop Est-ce que ce serait possible de supprimer les secondes. Et lorsque j'écris 05:00:00 ca me le transforme en 02:00:00, pourquoi ? :-)
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Zen
     
    Superbe, merci beaucoup pour ton aide. :-) ;-) ca va vraiment me faciliter la vie car c'est vraiment plus agréable lorsqu'on a bcp de lignes à saisir. :-)
    0
  7. ccm81 Messages postés 11033 Statut Membre 2 434
     
    De rien,

    Un peu plus UAG qui te permet de saisir aussi sur 3 chiffres au format hmm où seules les minutes dont sur 2 chiffres ex 203 pour 2h03) et bien sûr sur 4 chiffres comme avant

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim h As Long, m As Long, t As Single
    If Len(Target.Value) > 4 Or Len(Target.Value) < 3 Then Exit Sub
    Application.EnableEvents = False
    If Not Intersect(Target, Range(plage)) Is Nothing Then
    If Len(Target.Value) = 3 Then
    h = Val(Left(Target.Value, 1))
    Else
    h = Val(Left(Target.Value, 2))
    End If
    m = Val(Right(Target.Value, 2))
    t = h / 24 + m / 1440
    Target.NumberFormat = "hh:mm"
    Target.Value = t
    End If
    Application.EnableEvents = True
    End Sub

    Peux tu mettre le problème à Résolu (en haut à droite de ton premier message)

    Bonne fin de journée
    0