Copier des chiffres en heures

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. Contributeur
    Bonjour.

    En B1, mettre la formule =SUBSTITUE(A1;".";",")*1
    0
    1. Contributeur
      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
      1. Raymond, Vaucluse,

        Ca ne marche pas
        0
        1. Contributeur
          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
          1. Contributeur
            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
            1. Contributeur
              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. Contributeur
                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. Contributeur
                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. Contributeur
                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. Contributeur
                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
            2. Contributeur
              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. Contributeur
                Bonjour stargate,

                Je crois qu'il en est conscient mais la saisie déjà faite est relativement impressionnante.
                0
              2. yes c'est cela mon problème
                0
              3. 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
            3. Bonjour à tous

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

              Cdlmnt
              0
              1. Et s'il y en a vraiment beaucoup (moins de 65000 quand même)
                http://www.cjoint.com/c/FDriyQ1em1Q

                Cdlmnt
                0
                1. 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