Convertir automatiquement une date en jours sur Excel (10'000 lignes)...

dylan44

Membre actif
13 Mai 2009
119
0
Bonjour à tous,

Je dois réaliser différentes statistiques et je me retrouve avec un fichier Excel de presque 10'000 lignes.

La problématique est la suivante:

Les données exportées (donc dans un fichier Excel) se présentent de cette façon:

2015-12-21 19:38:05
2015-12-21 17:29:06
2015-12-21 13:35:06
2015-12-21 11:46:05
etc.

... et je dois convertir cela (dans la même cellule) ou dans une cellule à côté (deuxième colonne) en jours:

par exemple:

2015-12-21 19:38:05 = lundi

Par la suite, je devrai compter la quantité de lundi, de mardi, mercredi, etc. pour dresser un tableau.

Est-ce que je suis sur le bon forum pour cela?
Avez-vous une solution pouvant automatiser ce traitement de 10'000 lignes :) ?

Dans l'attente de vos propositions, solutions, je souhaite à toute la communauté, une bonne journée!
 
La fonction JOURSEM() te renvoie un chiffre entre 1 et 7 correspondant au jour de la semaine d'une date donnee (le 1 correspondant au dimanche)
 
Donc si les dates sont en colonne A en commençant en A1, mettre dans une colonne la formule =JOURSEM(A1) puis tirer cette formule sur 10000 lignes
Ensuite il suffit de compter les 1, les 2, les 3....les 7 de cette nouvelle colonne
 
Ça va un peu dépendre de ce que tu dois en faire et du format initial. Si ce sont vraiment des dates, il te suffit de sélectionner la colonne en entier puis, via le menu "Format" > "Cellules..." d'appliquer un format personnalisé jjjj.

Si t'es données sont au format texte (pas impossible à partir d'un fichier exporté) il te faut au préalable les convertir en dates. Je ne suis pas en situation de faire des tests actuellement mais j'essayerais en ajoutant une colonne vide puis en demandant à convertir via le menu "Données" > "Convertir..."

S'il ne s'agit que de totaliser les jours, alors une fonction de type SOMME.SI() devrait faire ton affaire...
 
J'ai testé. En mettant la cellule A1 en format texte et en saisissant en A1 le texte 2015-12-21 11:46:05, la formule =JOURSEM(A1) me renvoie bien 2 (donc lundi)

Ensuite le comptage des jours, je le ferais plutôt par un NB.SI plutôt qu'un SOMME.SI
 
Dernière édition:
Bonjour,

la plupart des besoins d'analyse peuvent être satisfaits avec des tableaux croisés dynamiques (TCD).

Pour ce cas
- j'ai inséré une ligne 1 pour les intitulés 'dates' et 'jour-semaine'
- la colonne B, intitulée 'jour-semaine' contient la formule déjà conseillée =joursem(A1)…joursem(A10000)
- créer un TCD sur une nouvelle feuille
-- champ de ligne 'jour-semaine'
-- champ de données nombre de 'jour-semaine'
 
Effectivement avec un Tableau croisé dynamique ça peut donner ça
TCD Excel.jpg


- en colonne B, les dates en format texte telles que spécifiées
- en colonne C, la formule =JOURSEM(B2) qui donne le jour sous forme d'un chiffre
- en colonne D, on convertit en lettre avec un =RECHERCHEV(C2;$L$2:$M$8;2) (en ayant placé en L2:M8 la conrrespondance entre les chiffres et le jour de la semaine)
- reste plus qu'à créer le tableau croisé dynamique qui compte le nombre d'occurrence de chaque jour dans la colonne D

TCD.jpg
 
Effectivement avec un Tableau croisé dynamique ça peut donner ça
TCD Excel.jpg


- en colonne B, les dates en format texte telles que spécifiées
- en colonne C, la formule =JOURSEM(B2) qui donne le jour sous forme d'un chiffre
- en colonne D, on convertit en lettre avec un =RECHERCHEV(C2;$L$2:$M$8;2) (en ayant placé en L2:M8 la correspondance entre les chiffres et le jour de la semaine)
- reste plus qu'à créer le tableau croisé dynamique qui compte le nombre d'occurrence de chaque jour dans la colonne D

TCD.jpg
je me suis simplifié la vie. J'ai formaté la colonne B avec le format 'jjjj' qui sous LibreOffice affiche le seul nom du jour. Le TCD (="Table de pilote" sous LibreOffice) affiche les comptages par nom du jour.
Je peux fournir le fichier exemple au format .ods
 
très bonne idée de formatter la colonne B en "JJJJ".
Par contre sur Excel 2011, ca fonctionne uniquement si on tape une date dans la colonne pré-formattée ainsi (par exemple si on tape 2016-04-20, en faisant Entrée on voit s'afficher mercredi)
mais si on colle des valeurs (puisque dans le cas de dylan, il a déjà ces 10000 valeurs dans une colonne), ca ne fait pas la conversion automatiquement.

Pareil si on prend la colonne comportant les 10000 dates (du moins telles qu'elles sont écrites) et qu'on modifie le format pour le mettre en "jjjj", pas de conversion en nom du jour...
 
mais si on colle des valeurs (puisque dans le cas de dylan, il a déjà ces 10000 valeurs dans une colonne), ca ne fait pas la conversion automatiquement.
Comme déjà vu, ça fonctionne si la colonne est une date et que ce n'est donc qu'un choix d'affichage. Si c'est au format texte, cas classique lorsqu'on part d'un tableau importé depuis un .csv, il faut d'abord convertir en date.
 
On ne saura jamais si Dylan a trouvé la solution....
 
  • J’aime
Réactions: peyret
On a perdu Dylan. Y'a plus rien a ajouter.