Convertir minutes:secondes.centième en seconde.centième

Résolu
Anthony G Messages postés 43 Statut Membre -  
Anthony G Messages postés 43 Statut Membre -

Bonjour,

J'ai une liste de temps. 
Certains sont en secondes.centième (51.29) car inférieur à une minute et d'autres sont en minute:Seconde.centièmes (1:02.51).

J'ai bien trouvé comment convertir mes cellules en seconde.centième avec la formule : Cellule*86400. Or cela ne fonctionne qu'avec les cellules en mm:ss.00. Lorsque je veux étirer ma colonne pour que cela se fasse automatiquement, cela multiplie aussi les cellules déjà en secondes et je me retrouve avec des nombres à rallonge. 

J'ai tenté avec la fonction SI mais je n'arrive pas à trouver comment tourner ma formule... 

Merci pour votre aide !

12 réponses

Résumé de la discussion

Le problème porte sur des temps enregistrés avec deux formats: secondes.centièmes (51.29) et minutes:secondes.centièmes (1:02.51), et la conversion en centièmes par multiplication par 86400 échoue pour les valeurs au format mm:ss.00 et peut produire des résultats erronés pour les secondes seules. La règle =SI(A1>60;A1*86400;A1) est incorrecte car les valeurs ne dépassent pas 60 et certains éléments (comme 01:09.1) sont interprétés comme des heures. Une solution efficace consiste à normaliser l’affichage sans multiplier, en utilisant un format personnalisé [ss],00, ou bien employer une formule qui détecte la présence de ":" et applique la conversion adaptée pour obtenir un format homogène. Le chemin privilégié est donc de convertir vers un format homogène [ss],00 plutôt que d’ajuster des valeurs numériques incomplètement.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. georges97 Messages postés 14565 Date d'inscription   Statut Contributeur Dernière intervention   2 919
     

    Bonjour,

    Le problème vient peut-être de la méthode initiale que vous avez adoptée pour saisir des temps en utilisant des nombres entiers, dont je doute qu'elle procure des résultats réalistes . à cette échelle précise, mais qui complique et fausse les calculs si vous en changez en cours de route :

    https://forums.commentcamarche.net/forum/affich-35402389-faire-un-moyenne-sur-un-format-temps-particulier

    Ne vaut-il pas mieux opter pour un format temps dès le début, qui ne fait pas obligatoirement en perdre ?

    C'est juste une question, vous opérez comme bon vous semble

    1
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     

    Bonjour à tous

    Ou avec une fonction personnalisée (macro)

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

    Cdlmnt

    1
    1. Anthony G Messages postés 43 Statut Membre
       

      Bonjour ccm81,

      Merci.

      C'est une bonne solution aussi ! Je recopierai mes résultats dans ce fichier pour ne pas perdre la macro !

      0
  3. tontong Messages postés 2575 Date d'inscription   Statut Membre Dernière intervention   1 064
     

    Bonjour,

    Ce qui ne fonctionne pas dans votre formule =SI(A1>60;A1*86400;A1) c'est la condition A1>60: aucune valeur de votre fichier n'est >60.Les valeurs en secondes ne le sont pas, et les valeurs comme 01:09.1 sont interprétées comme des heures donc =0.000800347 (valeur en jour) ne le sont pas non plus.

    Avec un séparateur de décimales "." il ne faut pas changer le point en virgule et appliquer =SI(AO19>1;AO19/86400;AO19) recopier, mettre les cellules au format personnalisé [ss].00 .La condition >1va détecter les valeurs qui ne sont pas des nombres (en secondes).

    1
    1. Anthony G Messages postés 43 Statut Membre
       

      Hey oui ! C'est ma formule qui n'était pas bonne ... Je suis content car il y avait l'idée :-/ mais mauvais calcul...

      Effectivement cela fonctionne parfaitement comme ceci...
      Merci Tontong

      0
  4. brucine Messages postés 24751 Date d'inscription   Statut Membre Dernière intervention   4 153
     

    Bonjour,

    Je n'arrive (Excel 2019, fr) à calculer sur les cellules que si elles sont au format
    [mm]:ss,00 et le contenu des cellules entré en conséquence, dans ton exemple 00:51,29 et 01:02,51.

    Dans ces conditions, en B1 au format standard =A1*86400 j'ai le résultat correct pour toute valeur de A1.

    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Anthony G Messages postés 43 Statut Membre
     

    Merci Brucine.

    Le problème est que sur mon fichier d'origine, je n'ai pas ce format et j'aimerais ne pas avoir à retaper tous les temps... 
    Je pense qu'il doit y avoir un moyen en excluant les temps en "ss.00". 

    J'ai essayé : =SI(A1>60;A1*86400;A1) Ca fonctionne pour les temps en mm:ss.00 mais pas pour les temps en ss.00 qui me donne de nouveau un chiffre à rallonge.

    J'ai essayé : =SI(A1=TEXT"[mm]:ss.00";A1*86400;A1) et ca ne fonctionne pas aussi...

    Un avis?

    0
  7. cousinhub29 Messages postés 1112 Date d'inscription   Statut Membre Dernière intervention   383
     

    Bonjour,

    Nul besoin de multiplier, il suffit d'adapter le format, et le passer en [ss],00

    Bonne journée


    0
  8. Anthony G Messages postés 43 Statut Membre
     

    Bonjour Cousinhub29,

    Merci pour ta réponse. 
    Ca ne fonctionne pas comme ceci, j'ai déjà essayé...
    Le problème est que j'ai deux formats différents et il semble que je ne puisse pas les mettre les deux à l'identique entre ceux qui font moins d'une minute et les autres. 

    J'ai besoin d'avoir des temps en ss.00 pour avoir une base commune. 

    Voici mon fichier sur ce lien pour y voir un peu plus clair.

    https://www.cjoint.com/c/NKtiGH2GVyu
    Merci d'avance, 

    0
  9. Anthony G Messages postés 43 Statut Membre
     

    Bonjour Georges,

    Ceci provient d'un fichier de résultats donné par un dispositif de prise de temps. Je n'ai aucune autre solution mis à part retaper tous les temps en format temps ou bien trouver une formule qui le ferait à ma place. 

    Le but de la manoeuvre est de me créer un fichier pour faire correspondre ces temps à des point ensuite, afin de pouvoir faire un classement entre plusieurs épreuves. 

    Merci de votre aide,

    0
    1. georges97 Messages postés 14565 Date d'inscription   Statut Contributeur Dernière intervention   2 919
       

      Je vous laisse continuer avec les spécialistes Excel, ne l'étant pas moi-même. Etonnant que le site n'emploie pas le format adéquat.
       

      Il faut supposer que le nombre est la représentation d'un temps, auquel cas, j'essayerais de transformer le tout (ou les secondes et centièmes) en centièmes avant de convertir dans le format requis.
       

      Mais je ne sais pas la façon dont Excel traite le format des centièmes et s'il n'y a pas une limite quantitative.

      0
  10. cousinhub29 Messages postés 1112 Date d'inscription   Statut Membre Dernière intervention   383
     

    Bonjour,

    Pour la colonne AO (Final Times), cette formule, peut-être?

    =SUBSTITUE(AO7;".";",")/SIERREUR(SI(TROUVE(":";AO7);1;"");86400)

    Les cellules contenant cette formule au format [ss],00


    0
    1. brucine Messages postés 24751 Date d'inscription   Statut Membre Dernière intervention   4 153
       

      Bonjour,

      Une manière capillotractée d'y arriver.

      Sélectionner les colonnes de temps, rechercher : et remplacer par rien puis rechercher . et remplacer par ,.

      En AQ7 pour la colonne AO, on peut faire la même chose si besoin pour la colonne AI:

      =SI(AO7>=60;(CNUM(STXT(AO7;1;1)))*60+CNUM(STXT(AO7;2;2))+CNUM(STXT(AO7;5;2))/100;AO7)

      à tirer vers le bas, ne fonctionne bien sûr que si les temps sont inférieurs à 10 mn.

      0
  11. PapyLuc51 Messages postés 4567 Date d'inscription   Statut Membre Dernière intervention   1 511
     

    Bonjour,

    Une autre solution :

    Dans une colonne à part au format [ss],00 mettre la formule au regard de la cellule AO7

    =SI(NBCAR(AO7)=5;CNUM(0&":"&GAUCHE(AO7;2)&","&DROITE(AO7;2));CNUM(GAUCHE(AO7;2)&GAUCHE(DROITE(AO7;5);2)&","&DROITE(AO7;2)))

    À incrémenter sur toute la hauteur du tableau

    Faire un copier de cette colonne et la coller en spécial valeur sur la colonne AO passée au préalable au format précité.

    Bien entendu si le nombre de minutes est >= à la dizaine il faudra modifier la partie mise en gras ci-dessous

    =SI(NBCAR(AO7)=5;CNUM(0&":"&GAUCHE(AO7;2)&","&DROITE(AO7;2));CNUM(GAUCHE(AO7;2)&GAUCHE(DROITE(AO7;5);2)&","&DROITE(AO7;2)))

    Comme ceci:

    =SI(NBCAR(AO7)=5;CNUM(0&":"&GAUCHE(AO7;2)&","&DROITE(AO7;2));CNUM(GAUCHE(AO7;TROUVE(":";AO7;1)-1)&":"&GAUCHE(DROITE(AO7;5);2)&","&DROITE(AO7;2)))

    Cordialement

    0
    1. Anthony G Messages postés 43 Statut Membre
       

      Bonjour PapyLuc, 

      Merci. 
      Je dois mal m'y prendre, j'ai pourtant suivi ce que vous m'avez indiqué mais je me retrouve avec #VALEUR!

      0
  12. tontong Messages postés 2575 Date d'inscription   Statut Membre Dernière intervention   1 064
     

    Bonjour,

    Après avoir remplacé le "." par "," (Ctrl+h)

    =SI(AO19>1;AO19/86400;AO19) recopier, mettre les cellules au format personnalisé

    [ss],00

    0
    1. Anthony G Messages postés 43 Statut Membre
       

      Bonjour tontong,

      Merci pour l'aide. 
      Ca ne fonctionne pas. Je suis en Australie et mon ordinateur est configuré en Australie, je pense que c'est pour cela que je ne peux plus mettre de "," à la place du "."

      Tous mes fichiers qui étaient auparavant en mm:ss,00 se sont tranformés ainsi mm:ss.00 ou ss.00
       

      La formule ressemble à celle que j'avais mis en place mais ca ne fonctionne pas non plus :-/

      Je vais me servir de la macro proposée par ccm81.

      Un grand merci à tous,

      0
  13. PapyLuc51 Messages postés 4567 Date d'inscription   Statut Membre Dernière intervention   1 511
     

    Bonjour,

    ""Je suis en Australie et mon ordinateur est configuré en Australie, je pense que c'est pour cela que je ne peux plus mettre de "," à la place du "." ""

    Voilà pourquoi à cause du "." (point) la colonne était en texte chez-moi ; d'où ma formule pour transformer en nombre qui ne pouvait donc pas fonctionner avec la virgule sur ton pc.

    Bonne continuation

    Cordialement

    0