Généalogie : extraire année des dates

Résolu/Fermé
jlchaps - 2 mai 2021 à 19:45
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 8 mai 2024 - 3 mai 2021 à 09:14
Bonjour,

En généalogie, je récupère un fichier Excel avec des dates de naissances pouvant aller de 1300 à 2021.
De plus, pour certaines personnes, je n'ai pas la date complète mais uniquement l'année.
Par exemple : J'ai une personne née en 1703 mais j'ai aussi une personne née le 29/08/1904, qui sous Excel est en mémoire avec la valeur 1703.
Quand je télécharge la généalogie au format CSV, avec séparation par des ";" le premier a dans la colonne date la "1703" et le deuxième contient "09/08/1904".
Comment je peux faire pour les différencier et retrouver l'année de naissance réelle ?
Merci de votre aide et de vos conseils



Configuration: Windows / Chrome 90.0.4430.85
A voir également:

2 réponses

jee pee Messages postés 39743 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 18 mai 2024 9 191
Modifié le 2 mai 2021 à 23:40
Bonjour,

Le soucis initial c'est qu'un champ date dans excel démarre au 01/01/1900. 15/05/1650 ne peut pas être un format date excel, c'est un champ texte. Après une date c'est juste un nombre, le nombre de jours écoulés depuis le 01/01/1900. C'est pourquoi pour excel le 29/08/1903 c'est aussi un nombre : 1703.

J'ai effectué de nombreux tests on ne peut pas utiliser des fonctions numériques ou des fonctions dates pour s'en sortir et extraire l'année. Il faudrait se tourner vers des fonctions texte.

Alors j'ai effectué un test en renommant le fichier .csv en .txt et quand je l'ouvre dans excel via fichier/ouvrir, séparateur = ; sur la colonne qui contient la date, au lieu d'un format standard ou date, je choisis texte. Le champ dans le fichier excel est alors exploitable avec une fonction texte comme
=DROITE(B1;4)
éventuellement
=CNUM(DROITE(B1;4))
pour obtenir un nombre.



Pour ne pas renommer le .csv, on peut aussi passer par sur une feuille vierge :
« Données », dans le groupe « Données externes », cliquer sur « Fichier texte » et choisir le .csv.


0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 8 mai 2024 7 217
2 mai 2021 à 23:35
0
jlchaps Messages postés 144 Date d'inscription vendredi 16 septembre 2005 Statut Membre Dernière intervention 6 mars 2024 4
3 mai 2021 à 08:51
Oui merci ... le crossposting peut dès fois être utile. Tout le monde ne parcourt pas tous les forum.
Oui la solution a été trouvée en VBA.
Merci
0
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 8 mai 2024 7 217
3 mai 2021 à 09:14
Oui, c'est moi qui te l'a fournie.
Le crossposting a aussi un inconvénient.
Utilisé égoïstement et sans raison (pas de réponse au bout de 24-48h par exemple), on fini par se détourner de tes questions en se disant que tu as sans doute la réponse ailleurs depuis plusieurs heures.
C'est toi qui voit...
eric
0