Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Format date : "mois" = "m" mais "minute" = ?

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

supertimorr

XLDnaute Nouveau
Bonjour à tous,

j'aimerai convertir une date en phrase, du genre :
18/04/1983 09:30:15 => "Je suis né en 1983 par un beau mois d'avril. C'était un lundi je crois, le 18, vers 9 heures 30 et 15 secondes"

La formule que j'utilise est la suivante :
="Je suis né en "&TEXTE(E30;"aaaa")&" par un beau mois "&SI(OU(TEXTE(E30;"mmmm")="avril";TEXTE(E30;"mmmm")="août";TEXTE(E30;"mmmm")="octobre");"d'";"de ")&TEXTE(E30;"mmmm")&". C'était un "&TEXTE(E30;"jjjj")&" je crois, le "&TEXTE(E30;"jj")&", vers "&TEXTE(E30;"h")&" heures "&TEXTE(E30;"??????")&" minutes et "&TEXTE(E30;"ss")&" secondes"

Pour afficher les minutes je me heurte au problème suivant : "m" est utilisé pour le mois... quelqu'un connaît le code utilisé pour les minutes ?? Si je mets "hm", il m'affiche bien les minutes mais évidemment avec l'heure devant...

Merci par avance pour votre aide.

PS : Je pourrai utiliser une autre méthode pour parvenir à afficher les minutes mais je voudrais connaît le code minute point de vue curiosité.
 
Re : Format date : "mois" = "m" mais "minute" = ?

Bonjour Supertimorr, bonjour à tous,

As-tu essayé tout simplement la fonction Minute() avec dans ton cas:

Code:
...& Minute(E30) & " minutes"

@+

Gael
 
Re : Format date : "mois" = "m" mais "minute" = ?

Bonjour,

Essaye la formule suivante A1 contenant la date avec les heures :

Code:
="Je suis né(e) en "&TEXTE(A1;"e")&" par un beau mois "&SI(OU(MOIS(A1)=4;MOIS(A1)=8;MOIS(A1)=10);"d'";"de ")&TEXTE(A1;"mmmm")&". C'était un "&TEXTE(A1;"jjjj")&" je crois, le "& TEXTE(A1;"j")&", vers "&TEXTE(A1;"h")&" heures "&DROITE(TEXTE(A1;"hmm");2)*1&" minutes et "&TEXTE(A1;"s")&" secondes."

édit : salut Gael
 
Dernière édition:
Re : Format date : "mois" = "m" mais "minute" = ?

Bonjour, salut Gael et Raja,

Je ne connais pas, mais je contourne le problème de la même façon que celle proposée par Gael.

Tu peux également géré l'ortographe :
=MINUTE(E30)&" minute"&SI(MINUTE(E30)>1;"s","")

Et même ne pas afficher les minutes si elles sont égales à 0 :
=SI(MINUTE(E30)=0;"";MINUTE(E30)&" minute"&SI(MINUTE(E30)>1;"s",""))

abcd
 
Re : Format date : "mois" = "m" mais "minute" = ?

Re et salut Raja, abcd,

Perso, pour tous les résultats dont on attends un chiffre, j'utilise les fonctions XL prévues (JOUR, MOIS, ANNEE, HEURE, MINUTE, SECONDE), la fonction TEXTE seulement pour appliquer un format particulier.

Ta formule pourrait donner par exemple:

Code:
="Je suis né en "& ANNEE(A1) &" par un beau mois "&SI(OU(MOIS(A1)=4;MOIS(A1)=8;MOIS(A1)=10);"d'";"de ")&TEXTE(A1;"mmmm")&". C'était un "&TEXTE(A1;"jjjj")&" je crois, le "&JOUR(A1)&", vers "&HEURE(A1)&" heures "&MINUTE(A1)&" minutes et "&SECONDE(A1)&" secondes"

Avec la gestion des cas particuliers proposée par abcd, cela va friser la perfection 🙂

@+

Gael
 
Re : Format date : "mois" = "m" mais "minute" = ?

Merci à tous les 3 pour vos réponses : c'est la magie de Excel, il existe des tonnes de possibilités pour faire la même chose !

Mais si au lieu de contourner le problème, je veux rester sur ma formule, le but étant de trouver le code excel pour "minute" par rapport à "mois"... est-ce vraiment une impasse ? Ou existe-t-il réellement une solution à ma question ?

En gros Excel comprend que je veux utiliser les minutes quand j'ajoute un caractère devant ou derrière du style : "hm", ":m", "ms", "m:s"... mais bien sûr, il affiche les minutes, suivies ou précédées du caractère en question. Et utiliser "droite" ou "gauche" n'y change rien...
 
Re : Format date : "mois" = "m" mais "minute" = ?

Cela dit, je vais déjà utiliser vos propositions pour améliorer et optimiser ma formule, merci. Car, maintenant, comme dit Gael : "on frise la perfection" !

Je vais donc faire comme ça mais ma question tient toujours pour assouvir ma curiosité d'aller toujours plus loin avec Excel (le relou... 🙄).

En tout cas, je renouvelle mes remerciements pour votre aide si rapide et utile !
 
Re : Format date : "mois" = "m" mais "minute" = ?

Re,

Ci-dessous, un extrait de l'aide Excel:


@+

Gael
 
Re : Format date : "mois" = "m" mais "minute" = ?

Ah bah voilà ! J'ai ma réponse !!! Merci Gael ! Il suffisait de regarder dans l'aide, tout simplement... parfois je me trouve bête...

Donc, réponse : impossible d'afficher les minutes avec cette méthode !

Merci encore
Bonne journée à tous
PS : Comment on fait pour marquer cette discution comme [Résolu] ?
 
Re : Format date : "mois" = "m" mais "minute" = ?

Comment??? Mais tu n'as pas téléchargé Dates et Heures de CMC? (C@thy Monique Celeda)... dommage!!! C'est un must dans le genre!😉

juste pour le fun essaie ces 3 formules :
=CHOISIR(JOUR(x)/10+1;"";"";"vingt";"trente")&SI(JOUR(x)<20;"";SI(DROITE(JOUR(x))*1;SI(DROITE(JOUR(x))*1=1;" et ";"-");""))&CHOISIR(JOUR(x)-CHOISIR(JOUR(x)/10+1;0;0;2;3)*10+1;"";SI(JOUR(x)=1;"premier";"un");"deux";"trois";"quatre";"cinq";"six";"sept";"huit";"neuf";"dix";"onze";"douze";"treize";"quatorze";"quinze";"seize";"dix-sept";"dix-huit";"dix-neuf")&" "&TEXTE(x;"mmmm")

=CHOISIR(ANNEE(x)/1000;"";"deux ";"trois ";"quatre ";"cinq ";"six ";"sept ";"huit ";"neuf ")&"mille"&" "&SI(DROITE(ANNEE(x);3)*1>99;CHOISIR(DROITE(ANNEE(x);3)/100;"";"deux ";"trois ";"quatre ";"cinq ";"six ";"sept ";"huit ";"neuf ")&"cent"&SI(DROITE(ANNEE(x);3)*1>100;SI(DROITE(ANNEE(x);2)*1=0;"s";" ")&CHOISIR(DROITE(ANNEE(x);2)/10+1;"";"";"vingt";"trente";"quarante";"cinquante";"soixante";"soixante";"quatre-vingt"&SI(DROITE(ANNEE(x))*1=0;"s";"quatre-vingt")&SI(DROITE(ANNEE(x);2)*1<20;"";SI(ET(OU(DROITE(ANNEE(x))*1<>0;DROITE(ANNEE(x);2)*1=70;DROITE(ANNEE(x);2)*1=90));SI(ET(DROITE(ANNEE(x))*1=1;DROITE(ANNEE(x);2)*1<80);" et ";"-");""))&CHOISIR(DROITE(ANNEE(x);2)*1-CHOISIR(DROITE(ANNEE(x);2)/10+1;0;0;2;3;4;5;6;6;8;8)*10+1;"";"un";"deux";"trois";"quatre";"cinq";"six";"sept";"huit";"neuf";"dix";"onze";"douze";"treize";"quatorze";"quinze";"seize";"dix-sept";"dix-huit";"dix-neuf")

=SI(HEURE(x)=0;"zéro";SI(HEURE(x)<20;"";"vingt"&CHOISIR(HEURE(x)-19;"";" et ";"-";"-"))&CHOISIR(HEURE(x)-CHOISIR(HEURE(x)/10+1;0;0;2;3)*10+1;"";"une";"deux";"trois";"quatre";"cinq";"six";"sept";"huit";"neuf";"dix";"onze";"douze";"treize";"quatorze";"quinze";"seize";"dix-sept";"dix-huit";"dix-neuf"))&" heure"&SI(HEURE(x)>1;"s";"")&SI(MINUTE(x);" "&CHOISIR(MINUTE(x)/10+1;"";"";"vingt";"trente";"quarante";"cinquante")&SI(MINUTE(x)<20;"";SI(DROITE(MINUTE(x))*1;SI(DROITE(MINUTE(x))*1=1;" et ";"-");""))&CHOISIR(SI(MINUTE(x)<20;MINUTE(x);DROITE(MINUTE(x))*1)+1;"";"une";"deux";"trois";"quatre";"cinq";"six";"sept";"huit";"neuf";"dix";"onze";"douze";"treize";"quatorze";"quinze";"seize";"dix-sept";"dix-huit";"dix-neuf")&" minute"&SI(MINUTE(x)>1;"s";"")

On ne peut pas tout mettre dans une seule cellule, formule trop longue.

Sur le même principe tu peux rajouter les secondes.

C@thy
 
Dernière édition:
Re : Format date : "mois" = "m" mais "minute" = ?

&SI(SECONDE(x);" et "&CHOISIR(SECONDE(x)/10+1;"";"";"vingt";"trente";"quarante";"cinquante")&SI(SECONDE(x)<20;"";SI(DROITE(SECONDE(x))*1;SI(DROITE(SECONDE(x))*1=1;" et ";"-");""))&CHOISIR(SI(SECONDE(x)<20;SECONDE(x);DROITE(SECONDE(x))*1)+1;"";"une";"deux";"trois";"quatre";"cinq";"six";"sept";"huit";"neuf";"dix";"onze";"douze";"treize";"quatorze";"quinze";"seize";"dix-sept";"dix-huit";"dix-neuf")&" seconde"&SI(SECONDE(x)>1;"s";"")

C@thy
 
Dernière édition:
Re : Format date : "mois" = "m" mais "minute" = ? [Résolu]

Pas de problème Pascal, je suis allé vérifier "nn" mais en effet, ça ne fonctionne pas ! 😛

MDR Cathy... tes formules sont plus compléquées mais semblent marcher !
Pas mal (le hic, c'est que, en effet, on ne pas tout mettre dans une seule cellule... vive le "concatener" et les "&") !

Merci
 
Re : Format date : "mois" = "m" mais "minute" = ?

Re, et bonjour PascalXLD et C@thy,

...Et utiliser "droite" ou "gauche" n'y change rien...

Pas tout à fait d'accord, même si ce n'est pas aussi simple que MINUTE(A1), tu peux écrire:

Code:
=DROITE(TEXTE(D5;"hh:mm");2)
qui affichera bien les minutes de même que:

Code:
=GAUCHE(TEXTE(D5;"hh:mm");2)

affichera les heures.

@+

Gael
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
11
Affichages
4 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…