XL 2013 Transformer heures en nombre décimal dans la même cellule (>24h)

Jojoplatio

XLDnaute Nouveau
Bonjour,

J'aurais besoin de trouver une solution pour transformer des heures en nombre décimals dans la même cellule. Par exemple, j'aimerais rentrer 35.30 (pour 35h et 30 minutes) et que cela me le convertisse une fois que j'appuie su "entrée" en 35,5 ou 35.5. J'ai essayé de nombreuses démarches mais rien n'y fait... Y-a-t-il une solution ?

Merci beaucoup et bonne journée à vous !
 

mapomme

XLDnaute Barbatruc
Supporter XLD
On attend mais pas de pression
Si ce n'est celle du fût 🍻
1620300720427.png
 
Dernière édition:

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Re,
j'ai des tests à faire pour voir si ça fonctionne ! à plus tard !
cela n'a pas marché, dommage, mais j'ai quand même eu ça, ma formule accepte maintenant aussi les textes au format horaire négatif et les heures négatives
{édition : je me suis aperçu que la fonction Si cassait aussi le lien avec la cellule source, l'utilisation de la fonction Produit est donc inutile quand la formule est encapsulée dans un Si ce qui simplifie la formule de conversion]
=SI(ESTERREUR((SUBSTITUE(SUBSTITUE(A1;",";":");".";":")*24));SI(ESTERREUR(A1*24);-(DROITE(A1;NBCAR(A1)-1)*24);A1*24);(SI(ESTERREUR(CHERCHE(":";SUBSTITUE(SUBSTITUE(A1;",";":");".";":")));"0:"&A1;SUBSTITUE(SUBSTITUE(A1;",";":");".";":"))*24))

[édition: par contre, pour que la formule soit compatible avec des versions d'Excel plus anciennes que 2016, l'utilisation de la fonction produit est nécessaire !]
=SI(ESTERREUR(PRODUIT(SUBSTITUE(SUBSTITUE(A1;",";":");".";":")));SI(ESTERREUR(PRODUIT(A1*24));-PRODUIT(DROITE(A1;NBCAR(A1)-1)*24);PRODUIT(A1*24));PRODUIT(SI(ESTERREUR(CHERCHE(":";SUBSTITUE(SUBSTITUE(A1;",";":");".";":")));"0:"&A1;SUBSTITUE(SUBSTITUE(A1;",";":");".";":"))*24))
Sans titre.png
 
Dernière édition:

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Bonjour le fil, le forum

La nuit porte conseil et, ce matin, j'ai concrétisé mon idée en deux coups de cuillère à pot ! Comme quoi il ne faut jamais désespérer.
Il vous faudra attendre encore un peu car je dois peaufiner pas mal de choses avant de vous livrer le résultat de mes cogitations !
Mais ça va venir, promis !

Bien cordialement, @+
 
Dernière édition:

Etoto

XLDnaute Barbatruc
Bonjour le fil, le forum

La nuit porte conseil et, ce matin, j'ai concrétisé mon idée en deux coups de cuillère à pot ! Comme quoi il ne faut jamais désespérer.
Il vous faudra attendre encore un peu car je dois peaufiner avant de vous livrer le résultat !
Mais ça va venir, promis !

Bien cordialement, @+
Pas de problème, bravo et merci de ton travail.
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Bonjour le fil, le forum

Voila déjà le premier résultat, vous le trouverez ici OmégaHour avec un ;) pour @mapomme
Il y a autre chose de prévu, mais pour l'instant cela ne fonctionne encore correctement que sous 365.
On va essayer d'améliorer ça avant de le poster.

[édition : Bonjour @Etoto , le fil, le forum
Et voila la deuxième partie ! Omega String ]


Bien cordialement, @+
 
Dernière édition:

Jojoplatio

XLDnaute Nouveau
Waouw ! Je n'aurais jamais pensé que ma simple question aurait généré autant de travail ! Merci à tous, je vois que j'ai affaire à de vrais passionnés !

Bien qeue compliquée, la formule fournie par @mapomme fonctionne très bien. En revanche, mon entreprise évolue sous google sheet (oui...) et la formule n'est pas compatible avec ce logiciel. En y regardant de plus prêt, le logiciel n'est pas capable de "diviser" par "1:0"

Et j'avoue que je sèche, je ne sais pas quoi faire pour contourner ce problème...
 

Pièces jointes

  • explicaiton pb.PNG
    explicaiton pb.PNG
    35.4 KB · Affichages: 11

soan

XLDnaute Barbatruc
Inactif
Bonjour Jojoplatio, Yeahou, mapomme, le fil,

tu as écrit : « Bien que compliquée, la formule fournie par mapomme fonctionne très bien. En revanche, mon entreprise évolue sous Google Sheet (oui...) et la formule n'est pas compatible avec ce logiciel. En y regardant de plus près, le logiciel n'est pas capable de "diviser" par "1:0". Et j'avoue que je sèche, je ne sais pas quoi faire pour contourner ce problème... »

tu aurais pu préciser que cette formule de mapomme est celle de son post #12 :​

VB:
=SIERREUR(GAUCHE(SUBSTITUE(SUBSTITUE(A2;",";":");".";":")&"00";CHERCHE(":";SUBSTITUE(SUBSTITUE(A2;",";":");".";":")&"00")+2);A2&":00")/"1:0"

1:0 = 1 h ; et 1/24 = 0,04166666667 ; donc essaye :

VB:
=SIERREUR(GAUCHE(SUBSTITUE(SUBSTITUE(A2;",";":");".";":")&"00";CHERCHE(":";SUBSTITUE(SUBSTITUE(A2;",";":");".";":")&"00")+2);A2&":00")/0,04166666667

(seule la fin de la formule est différente)

soan
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @Jojoplatio :),

Pour google sheet,essayez cette nouvelle formule en D2 à copier vers le bas.
VB:
=CNUM(GAUCHE(A2;SIERREUR(CHERCHE(",";A2);CHERCHE(".";A2&"."))-1))+(CNUM(0&STXT(A2;SIERREUR(CHERCHE(",";A2);CHERCHE(".";A2&"."))+1;99))/60)
Cette formule résout le problème des saisies qui commencent non pas par un chiffre mais directement par un point ou une virgule (ce qui ne plaisait pas à la première formule) : voir lignes 32 à 35.



edit : salut @soan ;)
 

Pièces jointes

  • Jojoplatio- heure-heure déc- v4.xlsm
    21.4 KB · Affichages: 6
Dernière édition:

soan

XLDnaute Barbatruc
Inactif
Bonjour job75,

j'viens d'essayer ta proposition, et ça marche très bien ! 👍 :)

VB:
=SIERREUR(GAUCHE(SUBSTITUE(SUBSTITUE(A2;",";":");".";":")&"00";CHERCHE(":";SUBSTITUE(SUBSTITUE(A2;",";":");".";":")&"00")+2);A2&":00")*24

(voir la fin de la formule)

soan
 

Discussions similaires

Statistiques des forums

Discussions
312 292
Messages
2 086 856
Membres
103 401
dernier inscrit
sibfil