Généalogie : extraire année des dates
Résolu
jlchaps
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
A voir également:
- Genealogie excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel moyenne - Guide
2 réponses
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

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.
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.
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
Oui la solution a été trouvée en VBA.
Merci
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
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
eric