Convertir Date en jour
Bonjour,
Je souhaiterais convertir un date en jour en fonction de la période scolaire, mais j'ignore si c'est possible.
Ma cellule date en marron est défini sous le format "14-mars".
En gardant ce format dans cette cellule "date", j'aimerais que le jour s'insère automatiquement dans la cellule violette juste
en dessous donc soit lundi, mardi, mercredi,..., dimanche.
Pour la période 01/09 au 31/12, j'aimerais qu'il recherche le jour correspondant de l'année 2015.
Pour la période 01/01 au 31/08, le jour correspondant pour l'année 2016.
Merci
Bonjour,
voir si ça te conviens je n'ai fait que la cellule A3 tout est dans le format de ta celllule ( à mettre en personnalisé jjjj).
Cordialement.
Bonjour,
Je te propose la solution en annexe.
Je t'ai créé un onglet supplémentaire appelé TABLE, dans lequel une petite matrice que j'ai nommée "jours" contient tous les jours de la semaine avec leur numéro en considérant le 1 pour le lundi.
Dans ton tableau, il suffit de mettre tes dates dans les case marrons (avec l'année sous la forme jj/mm/aaaa et la formule en cellule violette va calculer le jour de la semaine et rechercher dans la table le nom de ce jour.
Comme il n'y avait pas d'indication pour savoir quand commençait 2016 ni ce que représentait toutes tes dates, je n'ai fait que 2 exemples : un en 2015 et en 2016. A toi de compléter le reste et de simplement copier/coller la formule dans toutes les cellules violettes. J'ai mis les caractères en blanc car avec le violet, le noir est illisible.
Merci de confirmer si cela t'a aidé.
A+
Chris
Merci bien à vous deux, vous m'avez fait gagner un temps précieux.
Je reconnais n'avoir pas été assez précis dans mon explication.
Comme j'étais amené à remplir ces deux cellules des milliers de fois, dans l'idéal je cherchais à savoir si il était possible de ne mettre que le jour et le mois pour qu'il trouve le jour de la semaine ( sans intégrer l'année).
Les dates comprises entre le 01er septembre au 31 décembre faisant automatiquement référence à l'année 2015, et celles comprises
entre le 01er janvier au 31 aout automatiquement référence à 2016.
Par exemple si je tape 18/10, il cherche le jour correspondant au 18 octobre 2015. Idem pour 02/09 ou 27/12.
En revanche si je tape le 07/06, il cherche le jour correspondant au 07 juin 2016.
Si vous pensez que c'est faisable, je suis preneur
Car même si je dois rajouter l'année en plus dans la cellule date, sur des milliers de "saisies" je gagne un temps fou à ne remplir
qu'une seule cellule au lieu de deux.
Bonsoir,
A toutes fins utiles : tu sais qu'il y a aussi moyen de mettre une formule pour calculer les dates pour autant qu'il s'agisse d'un cycle régulier comme 1 ou 7 ou le nombre de jour du mois.
Exemple en A2 du met 01/01/2015 et en A6 tu mets =A2+1 et tu obtiendras 02/02/2015 ou A2+7 et tu obtiendras le 08/01/2015 soit une semaine plus tard etc... Si donc ton incrémentation à un raisonnement logique, il te suffit de taper une fois la date de départ et toute ton année (et l'année suivante) doit être capable d'être calculée automatiquement.
Pour répondre à ta question de ne pas mettre l'année... comment veux-tu que le système sache le bon jour de la semaine s'il ne sait dans quelle année il se trouve...
Par contre Excel va le faire pour toi : essaies de taper uniquement 01/01 dans une cellule formater Date et tu verras qu'Excel ajoute automatiquement l'année en cours. Par contre tu devras l'aider pour les années différentes donc pas très bon mais comme je te l'ai expliqué tu devrais normalement pouvoir faire calculer toutes tes cellules par une formule.
Si tu n'y arrives pas : expliques la logique de ce tableau (comment les dates sont elles encodées) et nous pourrons t'aider certainement à mettre cela en place.
A+
Chris
Bonsoir,
Ma connaissance est assez limité en excel et débutant en VBA, mais je compte y remédier cette année.
Il faut m'excuser si je ne comprends pas certaines formules ou certains propos.
Mon tableau va contenir des données sportives sur des résultats de sports ( basket, rugby ou volley).
le 1 en jaune correspond à la 1ère journée (première journée), 2 seconde journée, etc...
A long terme, je souhaite extraire des stats en fonction de ces différents critères date, jour, heure,...
Il n'y a aucune logique entre les dates des différentes journées, du moins aucun "intervalle" régulier entre les journées.
La première journée peut se dérouler 08 septembre et la seconde le 10 septembre comme le 19 octobre.
Je ne pense pas qu'une formule soit utile, même si je réfléchis à tout ce qui pourrais faciliter l'introduction de données.
En revanche il existe une logique, quand à la période de championnat.
Elle débute en septembre N pour finir au plus tard en Aout de N+1. Pour le championnat 2015-2016, septembre 2015 à Aout 2016.
Je pensais qu'il était possible de considérer la période septembre-décembre comme faisant automatiquement référence en 2015 et janvier à aout faisant automatiquement référence à 2016. De cette manière, je pourrais encore gagner quelques secondes en ne rentrant pas l'année. Mais comme je ne m'y connais pas assez, je ne sais pas si c'est faisable ou non.
Merci encore pour tout.
Bonne fin de soirée.
A+
Bonjour,
en vba, modifie l'année sur toute la feuille si date saisie.
Pour le jour je n'ai fait que A3.
Private Sub Worksheet_Change(ByVal Target As Range)
If IsDate(Target) Then
If Month(Target) < 9 Then
Application.EnableEvents = False
Target = DateAdd("m", 12, Target)
Application.EnableEvents = True
End If
End If
End Suberic
Bonsoir,
La solution proposée par Eriic est très bonne.
Je voudrais juste ajouter un commentaire : si ton but est de faire des statistiques ultérieurement sur base des résultats historiques, je pense que ton tableau est mal adapté.
Il vaut mieux enregistrer les résultats dans un tableau à 2 entrées (verticale et horizontale) et lister les résultats les uns en dessous des autres.
Ainsi, plus tard, il suffira soit de faire un tableau croisé dynamique soit faire des recherche dans tes données. Mais le tableau que tu présente sera très difficile à utiliser pour aller chercher les données.
Je suppose que ton tableau est incomplet et que tu as probablement tes raisons de l'avoir présenté ainsi mais je voulais juste te prévenir que pour faire des statistiques ultérieurement, ce n'est pas l'idéal.
Par contre, si tu fais le tableau à 2 entrées, tu pourras faire, à partir de ce tableau, une présentation comme tu le souhaites dans un deuxième onglet.
Les tableaux à 2 entrées sont aussi plus facile à encoder
Voilà j'en termine. Si tu veux de l'aide pour ce genre de tableau, il faudra que tu nous en dises plus sur les données que tu veux encoder et les résultats que tu souhaites obtenir.
Sinon je te souhaites bonne chance dans ton apprentissage... c'est un long chemin... mais passionnant
A+
Chris
Bonjour.
Encore merci à tous.
Cette feuille va contenir les données brutes. En fouinant à la recherche d'informations pour parfaire ma base de donnée,
je me rends compte de l'importance de la mise en page du tableau principal comme le souligne CHRIS1945.
Trop content d'avoir eu des outils pour semi-automatiser certaines opérations, je rentre les données à vitesse grand V alors
qu'il sera peut être impossible de les exploiter à terme. Avant de rentrer toutes mes données, je refais un tour à la case
départ pour voir si mon tableau est assez fonctionnel pour être exploité. Je ne suis pas contre un peu d'aide ou tout commentaire me permettant de me diriger dans la bonne direction.
J'ai noté dans la partie résultat dédié au match 11, à quoi correspond les différents cases.
Dans le feuille 2, un extrait des données brutes du résultat du premier match.
Cette mise en forme du tableau "général" est guidé par le fait de ne pas à réécrire manuellement le noms des équipes et les scores,
mais faire un simple copier-coller avec quelques retouches. (La partie verte est en grande partie du copier coller).
J'ai créé un dossier championnat et dans ce dossier j'ai créé un fichier pour chaque équipe identique à celui de l'exemple.
Mon but est d'apprendre à extraire des scénarios à partir de ces données et de pouvoir jongler avec tout ces critères.
(N° de match, Date, Heure, Jour, équipe à domicile, Extérieur, cote, résultats).
J'aimerais recenser des scénarios par championnat, par équipe ou selon certains critères.
Exemple de scénario pour le championnat, mettre en évidence sur une seule feuille à la suite comme dans mon exemple, en fonction de la date et l'heure tout les matchs qui ont lieu le jeudi.
Exemple de scénario par équipe, afficher à la suite tout les matchs dans lesquels Orenburg (fichier exemple) joue à domicile et que le score à la fin du second set est de 1 set partout.
Exemple de scénario en fonction des critères, mettre sur une ou plusieurs pages tout les matchs dans l'ordre en fonction de la date et l'heure ou l'équipe à domicile a une cote inférieur à 1.2.
Grosso modo, je souhaite à terme apprendre à exploiter tout les critères. Donc me perfectionner en formule et si besoin en VBA.
Pensez vous que c'est faisable avec cette forme de tableau.
Merci.
Bonjour,
Je vois que tu es resté en xlsx donc sans macro.
As-tu vu ce post : https://forum.excel-pratique.com/excel/convertir-date-en-jour-t72747.html#p415994 ?
eric
Bonsoir,
Je te propose une façon de faire en annexe (il y en a d'autre).
Comme tu verras, je t'ai fait un projet de base de données et à partir de celle ci, j'ai reconstitué ton tableau en allant chercher les infos dans la base de données.
Je ne connais pas tes connaissances exactes en Excel. Si l'une ou l'autre formule posent problème : demande des explications.
Attention pour encoder les heures il faut encoder les heures puis ":" puis éventuellement les minutes (s'il n'y en a pas, il faut quand même encoder les ":"
Tel quel, chaque module d'une partie est indépendant l'un de l'autre : il suffit de changer le numéro de la partie et tu verras apparaître les résultats du numéro choisi quelque soit le module. Ainsi si tu tapes 6 en cellule A4, tu verras apparaître les résultats de la sixième partie. Ces modules peuvent être dupliqués à l'infini (c'est la raison d'être des fonctions ligne et colonne qui permettent de paramétrer la formule pour qu'elle s'adapte automatiquement POUR AUTANT QUE LE MODULE RESTE SIMILAIRE (ne pas ajouter de ligne ou colonne dans le module ou il faudra changer les formules.
Pour être précis, j'appelle un module une plage de cellule représentant A4 à H6 par exemple et donc la partie 1.
J'espère que cela te donnera des idées pour le futur.
La base de données est paramétrées pour accueillir 100 lignes. Si tu en veux plus, il faudra adapter les formules dans les modules simplement en définissant les plages de recherches en fonction du nombre de lignes ajoutées (on le fait une fois dans le module 1 et puis on copie en écrasant tous les autres modules).
S'il faut ajouter des modules : on duplique une nouvelle série de 10 et on change naturellement les numéros de parties.
Si problèmes ou incompréhension, n'hésites à poser les questions nécessaires.
Bon amusement.
Chris
Bonsoir,
Eriic, j’avais commencé à récupérer des données avec le premier fichier de CHRIS1945 quand j’ai vu ta macro. Dans la mesure où ajouter l’année n’était nécessaire que pour l’année 2015, je étais accommodé. Merci encore pour ton aide.
CHRIS1945, j’ai longuement réfléchi et testé la solution que tu proposes, en la comparant avec mon idée de départ et j’en suis arrivé à la conclusion que ta façon de faire était bien meilleure.
Mes connaissances en Excel sont vraiment « basiques » et je me penche encore sur tes formules sans tout saisir. Je visionne pas mal de vidéo sur les fonctions RECHERCHEV, INDIRECT et ADRESSE ; j’arrive plus ou moins à comprendre la logique de chaque formule séparées. Quand elles sont imbriquées comme ici, j’ai un peu plus de mal. En poursuivant mes recherches et les exemples vidéo, j’espère les comprendre d’ici peu.
Mais pour dire vrai, je me concentre surtout à comprendre la logique d’Excel et essayer d’en définir les limites. L’encodage des heures en est un parfait exemple, j'étais persuadé qu’il suffisait de noter 13 pour qu’il en déduise 13 :00.
Ta manière de présenté à ouvert une porte sur une autre logique beaucoup plus rapide et efficace sur long terme, reste à savoir si c’est possible et facile à mettre en place.
Comme je l’ai souligné précédemment, il y a un dossier championnat et dans ce dossier existe un classeur pour chaque équipe. Ici par exemple pour ce championnat test, le championnat Russe (Dossier) avec dedans tous les classeurs d’équipe (Orenburg, Novosibirsk,…)
A l’origine, je comptais rentrer toutes les données équipe par équipe c-à-d faire directement tout le tableau général pour une équipe Orenburg(classeur). Une fois fini ouvrir le second classeur Novosibirk copier le match 1 déjà fait pour Orenburg-Novosibrisk, et traiter les autres matches de Novosibirsk. Et au fur et à mesure faire de plus en plus de copier-coller de telle sorte que pour la dernière équipe je ne fasse que des copier-coller.
Si j’utilise ta présentation, j’ai l’impression de pouvoir aller plus vite en traitant le championnat d’une seule traite au lieu de faire équipe par équipe. Je crée un classeur MatchsRusse dans le dossier ChampionnatRusse.
Ma première feuille est le tableau que tu as fait « Données brutes »
Je crée une feuille pour chaque équipe, de telle sortes à ce qu’à chaque fois je rentre un match il enregistre directement le match à la fois dans le classeur pour l’équipe à domicile et l’équipe a l’extérieur. Une fois fini, je n’ai plus qu’à faire copier-coller de la feuille Orenburg du classeur MatchRusse à la première feuille du fichier Orenburg, et ainsi de suite pour chaque équipe.
Juste de cette manière qui est surement possible à faire je gagne un temps précieux.
Mais solution encore plus simple mais je ne connais pas encore les limites d’Excel pour savoir si c’est réalisable ou non. En créant dans le dossier ChampionnatRusse, un classeur MatchsRusse et un classeur pour chaque équipe. Est-ce qu’en alimentant seulement le classeur MatchRusse, il est possible de faire en sorte que tous les autres classeurs se mettent à jour ?
C'est à dire qu'un classeur alimente les autres classeurs sans avoir besoin de les ouvrir.
(Sans avoir besoin de créer une feuille pour chaque équipe dans le classeur MatchsRusse et faire copier-coller à chaque fois, car au fildu temps je vais ajouter des données).
Sachant en plus qu’avec cette présentation, beaucoup de données se « semi-automatise ».
Il n’est besoin de remplir qu’une seule colonne de F à Q car les colonnes sont dépendantes.
Par exemple si F « Cote à domicile » a une certaine valeur, la cote de l’équipe adverse en G est obligatoirement une cote affilié à cette première cote. Exemple si F1 8,5, G1 est forcément 1,05.
Merci encore pour tout CHRIS1945
Bonsoir,
Je n'ai pas très bien compris si tu attends encore quelque chose de moi.
Alors je te répond à la seule question que j'ai vu apparaître dans ton exposé :
1 avec les fonctions uniquement, il n'est pas possible d'aller mettre à jour un autre classeur (appelons le 2) MAIS dans ce classeur 2 il est possible d'aller chercher des informations dans le classeur 1 qu'il soit ouvert (c'est préférable) ou fermé (il y a certaines fonctions qui ne peuvent pas fonctionner sur des classeurs fermés). Donc il est possible de résoudre ton problème mais pour en être certain, il faudrait que tu fasses un projet concret et que tu me l'envoies. Je t'avoue que je n'ai pas tout saisi de tes explications...
2 avec VBA il est possible de mettre à jour un autre classeur qui serait fermé car en VBA nous pourrions provoquer l'ouverture du classeur et aller le mettre à jour.
J'espère que cela t'aidera et si tu as besoin de plus d'aide, faisons comme dit plus haut : projet... et quelques explications complémentaires...
A+
Chris