Microsoft 365 extraire des nombres d'une cellule texte

luciesene

XLDnaute Nouveau
Bonjour,
Je souhaite récupérer des données d'une cellule texte du type
3d 10h 53min
2h 12min 3s
afin de convertir ces durées en nombre de jour
Je n'ai pas l'information 0d (par exemple)

Je débute en excel.
Est ce possible?

merci beaucoup par avance.
 
Solution
Bonjour Luciesene, et bienvenue sur XLD, bonjour Fanch,
Paut être pas le plus simple, mais si 3d 10h 53min est en A1 alors le nombre de jours est de :
VB:
=SIERREUR(CNUM(STXT(A1;1;CHERCHE("d";A1)-1));0)+
(SIERREUR(CNUM(STXT(A1;CHERCHE("d";A1)+1;CHERCHE("h";A1)-CHERCHE("d";A1)-1));0))/24+
(SIERREUR(CNUM(STXT(A1;CHERCHE("h";A1)+1;CHERCHE("min";A1)-CHERCHE("h";A1)-1));0))/(24*60)
NB: Je n'ai pas traité les secondes, la donnée d'entrée doit être du type xx d yy h zz min.

fanch55

XLDnaute Barbatruc
Bonjour, pouvez-vous préciser votre demande :
tout jour commencé compte pour 1 ?
quel est le format de la cellule ?
1642774085573.png
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Luciesene, et bienvenue sur XLD, bonjour Fanch,
Paut être pas le plus simple, mais si 3d 10h 53min est en A1 alors le nombre de jours est de :
VB:
=SIERREUR(CNUM(STXT(A1;1;CHERCHE("d";A1)-1));0)+
(SIERREUR(CNUM(STXT(A1;CHERCHE("d";A1)+1;CHERCHE("h";A1)-CHERCHE("d";A1)-1));0))/24+
(SIERREUR(CNUM(STXT(A1;CHERCHE("h";A1)+1;CHERCHE("min";A1)-CHERCHE("h";A1)-1));0))/(24*60)
NB: Je n'ai pas traité les secondes, la donnée d'entrée doit être du type xx d yy h zz min.
 

Lolote83

XLDnaute Barbatruc
Bonjour à tous,
Oups, pas rafraichi assez tôt.
Tant pis, je poste tout de même ma contribution en fonction de ce qu j'ai compris. Je regarderais vos propositions après.
J'ai utilisé une fonction personnalisée.
Cordialement
Lolote83
 

Pièces jointes

  • Copie de LUCIESENE - Repartition Jour,Heure,Minute et Seconde.xlsm
    18.2 KB · Affichages: 4

luciesene

XLDnaute Nouveau
Bonjour Luciesene, et bienvenue sur XLD, bonjour Fanch,
Paut être pas le plus simple, mais si 3d 10h 53min est en A1 alors le nombre de jours est de :
VB:
=SIERREUR(CNUM(STXT(A1;1;CHERCHE("d";A1)-1));0)+
(SIERREUR(CNUM(STXT(A1;CHERCHE("d";A1)+1;CHERCHE("h";A1)-CHERCHE("d";A1)-1));0))/24+
(SIERREUR(CNUM(STXT(A1;CHERCHE("h";A1)+1;CHERCHE("min";A1)-CHERCHE("h";A1)-1));0))/(24*60)
NB: Je n'ai pas traité les secondes, la donnée d'entrée doit être du type xx d yy h zz min.
merci pour le votre réponse.
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 925
Membres
101 841
dernier inscrit
ferid87