Passer d'une date format lettres à chiffres

Bonjour,

Ma question va surement paraitre simple, mais pour un débutant comme moi ça l'est pas forcément...

Voici mon problème:

J'ai une liste de 2125 dates en lettre dans la colonne A de mon tableur.

Exemple:

A1: Vendredi 21 août 2020 à 18h00

A25: Mardi 15 septembre 2020 à 21h00

A152: Dimanche 18 octobre 2020 à 20h00

Et je souhaiterais afficher dans la colonne B les dates en chiffre:

En reprenant l'exemple précédent:

B1: 21/08/20

B25: 15/09/20

B152: 18/10/20

Merci par avance pour votre aide!

Bonjour,

Avec la conversion des données puis une formule dans le fichier joint vous avez les explications :

image

Puis en G2 :

=DATE(D2;MOIS(1&C2);B2)

N'hésitez pas si vous avez besoin d'aide.

Cdlt,

8classeur10.xlsx (63.32 Ko)

Bonjour à tous

Une autre approche

=DATEVAL(STXT(SUBSTITUE(A1;"Dimanche";"di");CHERCHE("di ";SUBSTITUE(A1;"Dimanche";"di"))+3;CHERCHE(" à";SUBSTITUE(A1;"Dimanche";"di"))-CHERCHE("di ";SUBSTITUE(A1;"Dimanche";"di"))-3))

Bonjour,

et bravo Ergotamine ! Moi qui me casse la tête avec des formules... Formule en B2 :

=DATEVAL(STXT(A2;TROUVE(" ";A2;1)+1;2)*1&"/"&MOIS(STXT(A2;(TROUVE("*";SUBSTITUE(A2;" ";"*";2);1)+1)*1;TROUVE("*";SUBSTITUE(A2;" ";"*";3);1)+1-(TROUVE("*";SUBSTITUE(A2;" ";"*";2);1)+1)*1)&1)&"/"&STXT(A2;TROUVE("*";SUBSTITUE(A2;" ";"*";3);1)+1;4))

@ bientôt

LouReeD

Woah!

Merci beaucoup, jamais j'aurais pu trouver ça!

Vous me sauvez, encore merci !

Bonjour à tous,

J'étais aussi parti sur une solution similaire LouReeD mais je ne souhaitais pas m'aventurer en ce lundi soir dans une boucle de CHERCHE et SUBSTITUE sur les positions des différents espaces. Je me suis arrêté à l'extraction du jour avant de tout effacer et de chercher plus fainéant ... A mon image quoi !

Mais au final vos solutions sont peut être même plus robuste et nécessitent moins de place en terme de colonne !

Cdlt,

Bonsoir à tous,

Je vois qu'il y a du beau monde.

Une autre proposition.

=STXT(B1;MIN(TROUVE({0;1;2;3;4;5;6;7;8;9};B1&"0123456789"));TROUVE("à";B1)-1-MIN(TROUVE({0;1;2;3;4;5;6;7;8;9};B1&"0123456789")))*1

Cordialement.

Bonjour,

Ah Zebulon2, merci pour cette formule, j'attendais un truc de ce style ! Dis moi, tu peux m'expliquer c'est quoi ces {} ? mdo100 m'a posté une formule similaire il y a peu. On dirait une matrice au sein d'une formule non validée en matricielle donc j'ai un peu de mal avec le concept ..

Par avance merci pour le temps que tu m'accorderas !

Cdlt,

=STXT(B1;MIN(TROUVE({0;1;2;3;4;5;6;7;8;9};B1&"0123456789"));TROUVE("à";B1)-1-MIN(TROUVE({0;1;2;3;4;5;6;7;8;9};B1&"0123456789")))*1

Je partage avec Ergotamine () la même curiosité !

Mille mercis, par avance !

Re,

@Ergotamine,

Je ne voudrais pas dire de bêtises, (c'est une formule récupérée sur le net et gardée au chaud au cas où : )

https://www.extendoffice.com/fr/documents/excel/2701-excel-separate-text-and-numbers.html

C'est bien une matrice incorporée dans une formule et qui ne nécessite pas la validation en matricielle.

Je pense que cela indique à la fonction TROUVE qu'il recherche une valeur numérique comprise dans les valeurs entre les accolades.

Si quelqu’un à une explication plus fournie, je suis toute ouïe.

Cordialement.

Bonjour à toutes et tous,

Comme le dis @ Zebulon2, que du beau monde, le gratin de la haute.

Et puisque l'on parle de moi, je vais y mettre mon grain de sel.

=MIN(TROUVE({0;1;2;3;4;5;6;7;8;9};A1&"0123456789"))

Cette formule permet de trouver la position exact du premier chiffre dans une cellule.

@René07,

Juste pour jouer avec les grands une proposition avec Power Query.

6rene07.xlsx (18.96 Ko)

Cordialement.

Bonjour,

Et une petite dernière !?

Excel 2013+

Cdlt.

=DATE(
FILTRE.XML("<t><s>"&SUBSTITUE($A1;" ";"</s><s>")&"</s></t>";"//s[position()=4]");
MOIS("1/"&FILTRE.XML("<t><s>"&SUBSTITUE($A1;" ";"</s><s>")&"</s></t>";"//s[position()=3]"));
FILTRE.XML("<t><s>"&SUBSTITUE($A1;" ";"</s><s>")&"</s></t>";"//s[position()=2]")
)

Bonjour,

C'est la seule formulation dans laquelle je vois des accolades entrées manuellement sans validation matricielle, d'où mon interrogation, comme la première fois où tu l'avais postée. Un nouveau caractère dans les formules !

En tout cas merci pour les explications et désolé pour mes questions qui veulent trop comprendre !

Cdlt,

Pour le plaisir.....

Une autre proposition Power Query :

let
    Source = Excel.CurrentWorkbook(){[Name="Tableau5"]}[Content],
    #"Texte extrait après le délimiteur" = Table.TransformColumns(Source, {{"Date", each Text.AfterDelimiter(_, " "), type text}}),
    #"Texte extrait avant le délimiteur" = Table.TransformColumns(#"Texte extrait après le délimiteur", {{"Date", each Text.BeforeDelimiter(_, " ", {1, RelativePosition.FromEnd}), type text}}),
    #"Type modifié" = Table.TransformColumnTypes(#"Texte extrait avant le délimiteur",{{"Date", type date}})
in
    #"Type modifié"

@JFL,

J'ai eu un peu de mal a reproduire ton code, mais j'y suis parvenu.

Faudra que je pense a retenir cette méthode.

Cdlt.

Re,

Une autre Power Query !?

let
    Source = Excel.CurrentWorkbook(){[Name="Tableau1"]}[Content],
    //Ajout colonne à partir d'exemples.
    TexteInséré = Table.AddColumn(Source, "Date.1", each Text.BetweenDelimiters([Date], " ", " ", 0, 2), type text),
    Type = Table.TransformColumnTypes(TexteInséré, {{"Date.1", type date}}, "fr-FR")
in
    Type

De mon coté, j'avais essayé de trouver comment transformer 10 octobre 2020 en chiffre et c'est le "*1" qui m'a fait défaut !

le premier min trouve le premier chiffre de la chaine de caractère et le deuxième min fait pareille sauf que là il permet de connaître la position de la fin du sous texte qui se termine à "à" - 1.

Du coup STXT extrait la date "10 octobre 2020" qui multipliée par 1 donne le numéro de série de ce jour....

Bravo !

Power machin chose, je ne connais pas et je pense ne jamais connaître ne m'y étant pas mis dès le début, je suis perdu !

@ bientôt

LouReeD

@Jean-Eric,

Encore plus simple avec "Texte entre les délimiteurs" ai pu le reproduire du premier coup

Cdlt.

Re,

Une autre Power Query !?

Plus concis va s'avérer difficile !

Re,

@LouReed,

Même pas une petite remarque sur une proposition simple à digérer .

Filtre.Xml()

Rechercher des sujets similaires à "passer date format lettres chiffres"