Créer un "récap" par rapport à un intitulé

Bonjour,

Je me sers de Google Sheets pour tenir un suivi de mes entrainements de musculation.

J'ai réfléchis à l'organisation que devait avoir mon classeur et j'ai l'impression que la solution la plus facile est de faire une feuille par mois dans laquelle je mets mes séances. Je saisis mes datas avec mon téléphone pendant ma séance, il ne faut donc pas que la feuille soit "trop lourde".

Je suis ouvert à toutes modifications !

J'aurais donc 12 feuilles, une pour chaque mois de l'année. Dans le but d'analyser mon évolution, j'aimerais avoir sur une feuille les évolutions que j'ai réalisé par exercice.

Par exemple, je fais une séance aujourd'hui, chaque ligne représente un exercice, admettons :

ExercicesRepsChargeRepsCharge
Exo A10121015
Exo B
10151025

Puis demain je fais une séance dans laquelle j'ai de nouveau l'exo A, etc....

Le but serait d'avoir "dynamiquement" un tableau qui regroupe tous mes Exo A de toutes mes feuilles (donc des mois de l'années). J'ai essayé quelques chose avec la fonction FILTER, ça fonctionne, mais je ne vois pas comment regrouper "toutes mes feuilles" sur une feuille... De plus, j'ai de nombreux exercices.. et si je dois créer à la "mano" une function FILTER pour chaque exercice, cela va vite devenir très compliqué.

J'espère avoir été clair.

Si vous pouviez me donner une piste pour réaliser cela : nouvelle orga de mon classeurs, un peu de code, une ou plusieurs fonctions à utiliser je suis preneur.

Je joins mon fichier,

Merci beaucoup pour votre aide.

Lien : https://docs.google.com/spreadsheets/d/1qIRE4OGRV_NOdmimh-I2vfDBOvnpuG2kS9MFFB4RkPI/edit?usp=sharing

Bonjour,

La structure du document, aussi bien faite soit elle sur le plan esthétique, n'est pas trop adaptée pour une utilisation à des fins statistiques. S'il ne faut pas récupérer la date exacte (qui est sur une cellule qui surplombe les autres données) mais juste le mois on peut agglomérer toutes les données dans une grande récap qui servira de base :

=query({
ARRAYFORMULA({IF(ISBLANK( Janv!A:A );;1) \ Janv!A:Q });
ARRAYFORMULA({IF(ISBLANK( 'Fév'!A:A );;2) \ 'Fév'!A:Q })
};"select * where Col18 is not null";0)
image

on peut ensuite travailler sur les données elles-mêmes via un TCD ou des formules appropriées selon ce que tu souhaites rechercher.

Très intéressant, merci beaucoup ! Je regarde ce soir en profondeur ta requête.

Pas de problème pour la date du jour, je pense qu'effectivement si je voulais la récupérer, je devrais l'intégrer dans chaque ligne et éventuellement masquer la colonne qui l'affiche pour que l'esthétisme ne soit pas impactée, c'est ça ?

En tout cas merci beaucoup, je ne connaissais pas ce type de formule, je vais jouer avec ça

Mise à part la date, la structuration des données est bonne pour une utilisation de statistiques ?

PS : (update) En fait, ce n'est pas vraiment ce que j'attends, car j'aimerais dans l'onglet Récap, un tableau par exercice. Comme ça je peux voir mon évolution facilement. Je ne veux pas un regroupement de tous les exercices dans un meme tableau.

Mise à part la date, la structuration des données est bonne pour une utilisation de statistiques ?

oui, on peut s'en sortir

PS : (update) En fait, ce n'est pas vraiment ce que j'attends, car j'aimerais dans l'onglet Récap, un tableau par exercice. Comme ça je peux voir mon évolution facilement. Je ne veux pas un regroupement de tous les exercices dans un meme tableau.

pas de soucis là-dessus, le but de rassembler les données est un préalable justement pour pouvoir ensuite faire les choses proprement

on peut déjà filtrer par exercice pour ne faire apparaître que celui-ci

ou simplement trier par exercice

en changeant un poil la formule

=sort(query({
ARRAYFORMULA({IF(ISBLANK( Janv!A:A );;1) \ Janv!A:Q });
ARRAYFORMULA({IF(ISBLANK( 'Fév'!A:A );;2) \ 'Fév'!A:Q })
};"select * where Col18 is not null and Col3 is not null";0);3;0;1;1)

et en défusionnant l'en-tête que j'avais recopiée

image

on peut aussi aller plus loin si nécessaire

https://docs.google.com/spreadsheets/d/1oRQmR8-5lVHiLTcfL9KK0VuIEUVMw3HaKjVF6-Tj80g/copy

Alors là

Peu ou prou c'est exactement ce que je veux.... maintenant, à moi de peaufiner !

Par contre je vais me documenter sur la function "query" car autant en SQL je trouve ça simple, autant la j'ai du mal

Merci beaucoup!

Je vais abuser mais encore une petite question :

Si je pars sur ton tableau avec les filtres qui réponds vraiment à ma demande. Si je crée une colonne supplémentaire "Evolution" qui est un simple calcul en pourcentage par rapport à la séance d'avant, admettons :

Nom exo

TonnageEvolution

Exo A

100
Exo A110+10%
Exo A
100
-10%

Comment appliquer cette formule ? Étant donné que le numéro de ligne change en fonction de l'exercice et en fonction du nombre de séances ?

Par contre je vais me documenter sur la function "query" car autant en SQL je trouve ça simple, autant la j'ai du mal

https://www.sheets-pratique.com/fr/query

Comment appliquer cette formule ? Étant donné que le numéro de ligne change en fonction de l'exercice et en fonction du nombre de séances ?

et c'est là où cela devient intéressant !

il faut que j'ajoute aussi le numéro de la ligne pour conserver l'ordre des entrées

je regarde cela ce soir ou demain matin ... soit une formule, soit un TCD

en ajoutant la ligne pour conserver le tri

=sort(query({
ARRAYFORMULA({IF(ISBLANK( Janv!A:A );;1) \ row(Janv!A:A) \ Janv!A:Q });
ARRAYFORMULA({IF(ISBLANK( 'Fév'!A:A );;2) \ row('Fév'!A:A) \ 'Fév'!A:Q })
};"select * where Col19 is not null and Col4 is not null";0);4;0;1;1;2;1)

puis en faisant une sélection

image

les formules importantes sont sur fond jaune

toujours même fichier que j'ai fait évoluer :
https://docs.google.com/spreadsheets/d/1oRQmR8-5lVHiLTcfL9KK0VuIEUVMw3HaKjVF6-Tj80g/copy

C'est impressionnant ! Tu viens de révolutionner mon approche vers Sheet ! Je t'en remercie.

J'abuse mais c'est tellement intéressant :

  1. Est-ce techniquement faisable d'avoir l'évolution directement sur la feuille "Recap". Ce serait plus qu'énorme d'avoir l'évolution qui se calcule automatiquement sur la même page où on sélectionne un exercice.
  2. J'ai vraiment du mal à comprendre une partie de la requête :

1- en T3

=IF(D3=D2;if(D3="";;(S3-S2)/S2);)

à tirer vers le bas

2 - quelques explications sur

=sort(query({
ARRAYFORMULA({IF(ISBLANK( Janv!A:A );;1) \ row(Janv!A:A) \ Janv!A:Q });
ARRAYFORMULA({IF(ISBLANK( 'Fév'!A:A );;2) \ row('Fév'!A:A) \ 'Fév'!A:Q })
};"select * where Col19 is not null and Col4 is not null";0);4;0;1;1;2;1)

D'abord, ceci va construire un tableau avec le mois (si la colonne A n'est pas vide), la ligne et le reste des informations déjà présentes, \ permet de juxtaposer

ARRAYFORMULA({IF(ISBLANK( Janv!A:A );;1) \ row(Janv!A:A) \ Janv!A:Q });

ensuite, nous allons ajouter les tableaux de chaque mois les uns derrière les autres, ; permet d'empiler

{
______ici_janvier________;
______ici_février________
}

puis nous allons utiliser query pour supprimer les lignes sans objet, j'ai pris comme critère la colonne 19 et la colonne 4 (la colonne 4 aurait sans doute suffit, en fait je l'ai ajoutée ensuite)

query(
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
;"select * where Col19 is not null and Col4 is not null";0)

et enfin, nous allons trier par exercice (colonne 4), puis mois (colonne 1) en préservant le tri par ligne (colonne 2)

=sort(
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyy
;4;0;1;1;2;1)

Par contre :

1- en T3

=IF(D3=D2;if(D3="";;(S3-S2)/S2);)

à tirer vers le bas

Vu que le tableau est filtré, le numéro des lignes change et donc ça ne fonctionne pas.

Cela fait longtemps que j'utilise des forums pour une multitude de domaines : bricolage, informatique, linux, base de données, développement, etc...

Je n'ai jamais eu une réponse aussi propre, aussi précise.

Vraiment, je te remercie énormément pour ta patience et pour le temps passé.

J'ai toutes les cartes en mains maintenant pour faire un super beau tableau !

Un énorme merci à toi ! Ce forum à de la chance de t'avoir !

Rechercher des sujets similaires à "creer recap rapport intitule"