Copier des chiffres en heures

La janaie -  
 La janiae35 -
Bonjour,

J'ai un tableau dont les heures réelles ont été saisies en chiffres.
Je dois copier ses chiffres en format heures.
Je m'explique :
En A1 la saisie est 12.3 (pour 12 heures 30) et je dois le mettre sous format 12:30

Avez-vous une solution, la saisie déjà faite est relativement impressionnante.
Merci beaucoup de votre aide

10 réponses

  1. Raymond PENTIER Messages postés 58219 Date d'inscription   Statut Contributeur Dernière intervention   17 485
     
    Bonjour.

    En B1, mettre la formule =SUBSTITUE(A1;".";",")*1
    0
  2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonsoir
    peut être avec cette formule qui fonctionne en considérant que si le nombre après le point n'a qu'un seul chiffre, il s'agit de dizaine de minute

    par exemple 12.3 ou 12.30 doit devenir 12:30
    =GAUCHE(A1;TROUVE(".";A1)-1)/24+(DROITE(A1;NBCAR(A1)-TROUVE(".";A1)))/SI(NBCAR(DROITE(A1;NBCAR(A1)-TROUVE(".";A1)))=1;144;1440)

    crdlmnt
    0
  3. Lajanaie35 Messages postés 3 Statut Membre
     
    Raymond, Vaucluse,

    Ca ne marche pas
    0
  4. Raymond PENTIER Messages postés 58219 Date d'inscription   Statut Contributeur Dernière intervention   17 485
     
    Qu'est-ce qui ne marche pas ?
    Pour 12.3 l'affichage en colonne B est 12,3 au lieu de 12,30 ?
    Tu n'as pas pensé à mettre ta colonne B au format nombre à 2 décimales ? https://www.cjoint.com/c/FDpbGSgXGOk
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour

    SUBSTITUE ne transforme pas 12.3 en 12:30 comme demandé, après division par 24 pour passer en horaire,mais en 12:18

    reste à savoir ce que vous voulez exactement entre12.3 et 12.30

    ci joint modèle de ma proposition

    https://www.cjoint.com/c/FDpeURTJUnX

    les cellules résultats sont formatées en [hh]:mm

    crdlmnt

    La qualité de la réponse dépend surtout de la clarté de la question, merci!
    0
  7. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonjour,

    si ton séparateur décimal est la , alors :
    =--SUBSTITUE(A2;",";":")
    format de cellule en heure
    ou [h]:mm
    Si c'est le . les 2 solutions fonctionnent.
    eric

    En essayant continuellement, on finit par réussir. 
    Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
    En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Salut Eric... ça va?

      comme déjà dit un peu lus haut, et sauf erreur de ma part avec:

      =SUBSTITUE(A1;".";",")*1

      ou
      =--SUBSTITUE(A2;",";":")

      les deux options pour 12.3 envoie 12:03 en format heure. La demande était de transformer, selon l'exemple, 12.3 en 12:30,
      ........mais effectivement, vu les doutes de tous,cela demande confirmation!

      Bien cordialement
      0
    2. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      non non, aucun doute, tu as raison :-)
      Je suis passé à coté magistralement...

      Alors pour simplifier :
      =--SUBSTITUE(TEXTE(A2;"0.00");".";":")
      ou
      =--SUBSTITUE(TEXTE(A2;"0.00");",";":")

      selon le séparateur décimal utilisé, et mettre le format heure désiré.
      0
    3. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      euh???... je crois que ça renvoie toujours 12:03 au lieu de 12:30

      en fait, ça ne change rien vu que TEXTE(A2;"0.00") si A2 est 12.3 renvoie ... 12.3!

      à moins que je ne fasse pas ce qu'il faut!

      en fait je ne vois pas de solution autre que de considérer la partie décimale comme un nombre de dizaine si il n'y a qu'un chiffre et d'unités s'il y en a deux.
      crdlmnt
      0
    4. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Si, ça change tout, enfin chez moi :-)
      TEXTE(A2;"0.00") renvoie "12.30", pas "12.3".
      https://www.cjoint.com/c/FDpkZtrndCA
      eric
      0
    5. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Alors je ne sais pas ce qui ce passe, mais:

      mais quand j'ouvre fichier, j'ai bien en B2 12:30, mais en partant en A2 de 12,3 affiché au lieu de 12.3

      si je corrige A2 et A3 en 12.3 et 12.03, la, formule me renvoie toujours 12:03 en B2 et B3

      et si avant de modifier quoique ce soit, je sélectionne B2, je positionne le curseur et touche enter, B2 et B3 e renvoient 00:12
      avec impossibilité d'utiliser le retour en arrière

      même résultat si je réécris la formule 00:12.. en B2 pour 12,3 en A2.. et encore à condition que je garde bien SUBSTITUE avec le ".";":"), si je remplace le,point par une virgule avec cette formule j'obtiens #VALEUR et pour compléter le tableau

      il doit y avoir dans ton Excel quelque chose qui n'existe pas dans le mien.

      vois ici ce que j'ai testé, dans les deux tableaux, la dernière colonne et un collage "valeur" pour que tu puisses voir si les résultats changent chez toi.

      https://www.cjoint.com/c/FDpmjMLXzyX

      crdlmnt
      0
  8. STARGATE43 Messages postés 13754 Date d'inscription   Statut Contributeur Dernière intervention   2 648
     
    Bonjour,

    Il y a déjà une erreur dans l'énoncé de la question.

    On ne peut obtenir 12.3 h en 12:30 ou 12h30, il y a une convertion à faire, comme l'a souligné Vaucluse dans sa réponse 6, 12.3 (format décimales) est égal à 12:18 ou 12h18 (format heures).

    De même que 12h15 ou 12:15 (heures) est égal à 12.25 (décimales) et non à 12.15.

    12h45 ou 12:45 (heures) est égal à 12.75 (décimales) et non à 12.45.

    Cette mise en place du tableau est déjà faussée dès le départ.

    Il faudra entrer ce type de calcul pour la convertion :

    -->http://python.espe-bretagne.fr/opvannes/gpcar/00/co/04/co/04-info-3.html<--

    Cdlt et bon w-e ;-)

    --> PAS DE PROBLÈMES, QUE...DES SOLUTIONS <--
    Tout dépend du degré de flexibilité de la queue d'une vache entre les barreaux d'une chaise par temps de brouillard ;-)
    0
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      Bonjour stargate,

      Je crois qu'il en est conscient mais la saisie déjà faite est relativement impressionnante.
      0
    2. Lajanaie35 Messages postés 3 Statut Membre
       
      yes c'est cela mon problème
      0
    3. La janiae35
       
      J'ai eu l'aide d'un collègue et il a trouvé et ça marche
      =(ENT(A1)+((A1-ENT((A1))*100/60))/24

      Merci énoooooooorrmément d'avoir planché
      0
  9. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour à tous

    S'il y a beaucoup de valeurs à traiter, peut être avec une petite macro
    http://www.cjoint.com/c/FDpqno7ILXq

    Cdlmnt
    0
  10. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Et s'il y en a vraiment beaucoup (moins de 65000 quand même)
    http://www.cjoint.com/c/FDriyQ1em1Q

    Cdlmnt
    0
  11. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859
     
    Bonjour à tous,

    Je suis resté sur le post initial : "transformer 12.3 en 13:30".
    =--TEXTE(100*SUBSTITUE(A1;".";sep);"00\:00")

    avec sep un nom contenant
    =INDEX(LIRE.ENV(37);3)

    sep donne le séparateur décimal de l'environnement.

    cordialement
    0