Calc : convertir texte "mm/jj/aa" en nombre date
Issu de format CSV
Logiciels / Bureautique

mabthera Membre non connecté
-
- Voir le profil du membre mabthera
- Inscrit le : 10/06/2019
- Groupes :
J'ai fait un export agenda Thunderbird en CSV pour le récupérer sous Calc. La colonne date apparait sous la forme texte par ex. 04/19/20 pour un évènement du 19 avril 2020. J'aimerais le transformer en nombre format date par une fonction Calc pour l'exploiter (tri, etc.). Comment faire ?
PS : les autres exports possibles sont ICS et html, mais cela ma paraît encore moins exploitable sous CALC.

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Sinon, passes le par une commande shell (ou script), pour mettre la date dans un vrai format standard, genre iso-8601 :
2020-04-19
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

nic80 Membre non connecté
-
- Voir le profil du membre nic80
- Inscrit le : 06/08/2018
- Groupes :
-
Modérateur
Et en démarrant calc depuis une console, précédé de la commande LC_ALL=C ?

Peut être que le LC_ALL est un peu violent...
Édité par nic80 Le 12/10/2020 à 20h15

Ami age Membre non connecté
-
- Voir le profil du membre Ami age
- Inscrit le : 18/08/2012
- Site internet
- Groupes :
-
Modérateur
En personnalisant le format de la colonne, ça devrait le faire je pense .
Édité par Ami age Le 12/10/2020 à 20h30
_______________________________________________________________________

___________________________________ Un petit clic pour Mageia ? =>> CLIQUEZ I C I :
.



___________________________________ Un petit clic pour Mageia ? =>> CLIQUEZ I C I :
.

mabthera Membre non connecté
-
- Voir le profil du membre mabthera
- Inscrit le : 10/06/2019
- Groupes :
Je peux travailler la colonne en mode text pour la présenter différemment (en restant en mode text, supprimer les "/" ou la mettre au format 2020-04-19), ce n'est pas un problème. Le problème est le passage du text en nombre (standard, puis format date).

mabthera Membre non connecté
-
- Voir le profil du membre mabthera
- Inscrit le : 10/06/2019
- Groupes :
- supprimer tous les / de la colonne (en mode texte) et obtenir des cellules avec 6 caractères
- extraire les 4 premiers chiffres avec la fonction GAUCHE (A2;4)
- extraire les 2 derniers chiffres DROITE(B2;4) --> JOUR
- extraire les 2 premiers chiffres GAUCHE(B2;4) --> MOIS
- extraire les 2 derniers chiffres DROITE(A2;4) --> ANNÉE
- fonction =DATE(C2;D2;E2), soit JOUR + MOIS + ANNÉE,
- pour le transformer en nombre, appliquer la fonction CNUM
- faire copier/collage spécial nombre par écrasement pour avoir une colonne sans formule
Cela marche, mais il y a sans doute plus simple
Édité par mabthera Le 12/10/2020 à 21h53

nic80 Membre non connecté
-
- Voir le profil du membre nic80
- Inscrit le : 06/08/2018
- Groupes :
-
Modérateur
Pas sur que ce soit moins " bourrin"

Bon après auparavant j' avais fait ceci:

Peut être que ça aide...
DATEVAL:

Édité par nic80 Le 12/10/2020 à 21h58

mabthera Membre non connecté
-
- Voir le profil du membre mabthera
- Inscrit le : 10/06/2019
- Groupes :
Édit : avec DATEVAL, j'obtiens une erreur, c'est pourquoi j'ai cherché une autre méthode. Mais tu as raison, il y a sans doute des paramètres à revoir
Édité par mabthera Le 12/10/2020 à 22h00

mabthera Membre non connecté
-
- Voir le profil du membre mabthera
- Inscrit le : 10/06/2019
- Groupes :
En revanche, je pensais que CNUM marchait, mais non, je crois que cela reste du texte
Édité par mabthera Le 12/10/2020 à 22h09

nic80 Membre non connecté
-
- Voir le profil du membre nic80
- Inscrit le : 06/08/2018
- Groupes :
-
Modérateur
Dans mon exemple, j' ai rajouté le type de format M/D/Y ( mois/jour/année). Je pense que sans ça, 04/19/20 n' est pas une date valide (je n' ai pas croisé de mois 19 récemment sur le calendrier !

edit: nos post se sont croisés...
Édité par nic80 Le 12/10/2020 à 22h10

mabthera Membre non connecté
-
- Voir le profil du membre mabthera
- Inscrit le : 10/06/2019
- Groupes :

mabthera Membre non connecté
-
- Voir le profil du membre mabthera
- Inscrit le : 10/06/2019
- Groupes :
Cela servira peut être avec les colonnes : 10:45:00 AM
Je ne sais pas si Calc sait traiter les heures comme les dates.

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

ducyp9 Membre non connecté
-
- Voir le profil du membre ducyp9
- Inscrit le : 23/05/2011
- Groupes :
mabthera :
Je ne sais pas si Calc sait traiter les heures comme les dates.
Pour les heures il y a TEMPS(HEURES;MINUTES;SECONDES).
mabthera :
Pour transformer la colonne, j'y suis allé comme un bourrin :
supprimer tous les / de la colonne (en mode texte) et obtenir des cellules avec 6 caractères
extraire les 4 premiers chiffres avec la fonction GAUCHE (A2;4)
extraire les 2 derniers chiffres DROITE(B2;4) --> JOUR
extraire les 2 premiers chiffres GAUCHE(B2;4) --> MOIS
extraire les 2 derniers chiffres DROITE(A2;4) --> ANNÉE
fonction =DATE(C2;D2;E2), soit JOUR + MOIS + ANNÉE,
pour le transformer en nombre, appliquer la fonction CNUM
faire copier/collage spécial nombre par écrasement pour avoir une colonne sans formule
supprimer tous les / de la colonne (en mode texte) et obtenir des cellules avec 6 caractères
extraire les 4 premiers chiffres avec la fonction GAUCHE (A2;4)
extraire les 2 derniers chiffres DROITE(B2;4) --> JOUR
extraire les 2 premiers chiffres GAUCHE(B2;4) --> MOIS
extraire les 2 derniers chiffres DROITE(A2;4) --> ANNÉE
fonction =DATE(C2;D2;E2), soit JOUR + MOIS + ANNÉE,
pour le transformer en nombre, appliquer la fonction CNUM
faire copier/collage spécial nombre par écrasement pour avoir une colonne sans formule
Voici une possibilité en utilisant la fonction STXT(texte;début;nombre). Elle permet d'extraire dans l'ordre jour, mois et année en évitant les fonctions DROITE ET GAUCHE.
la cellule A1 contient 04/19/20 sous la forme de texte.
la cellule B1 contient la formule =(CNUM(CONCATENER(STXT(A1;4;2);"/";STXT(A1;1;2);"/";STXT(A1;7;2))))
recopie de la formule
faire copier/collage spécial nombre par écrasement pour avoir une colonne sans formule
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie