Reporter les valeurs de différentes feuilles sur une feuille bilan

Bonjour,

Je vais essayer d'être plus clair sur mon problème, en espérant que quelqu'un puisse m'aider.

Je dois relever quotidiennement des débits de goutteurs d'irrigation et les mettre sur tableur, j'ai donc plusieurs feuilles avec comme nom "05.06", "06.06", "07.06"... pour indiquer chaque jour. Sur la feuille nommée 05.06, j'ai les débits pour 60 goutteurs (4 lignes de 15). Sur la feuille 06.06, seulement 15 goutteurs (1 ligne de 15 qui fait partie des 60, ce sont les goutteurs tests que je dois les mesurer tous les jours). Sur la feuille 07.06, rebelote, je reprends les débits des 4 lignes.

Sur ma feuille bilan, je suis censé reporter les valeurs de débit de chaque goutteur au travers des jours. Sachant que les cellules qui contiennent les débits ne sont pas à la suite (ca serait trop simple), il faudrait une formule que je déroule vers le bas qui dise dans B2 : "va à la feuille nommée Jour 1 et sélectionne la cellule C7" puis dans B3 : "va à la feuille nommée Jour 2 et sélectionne la cellule C7".

Voilà, j'espère que c'était compréhensible, je reste en attente de vos réponses et merci d'avance !

12exemple.xlsx (13.19 Ko)

Bonjour,

ok, bien compris,

mais si c'est bien Google Sheets, pourrais-tu mettre un lien vers ton fichier ? https://www.sheets-pratique.com/fr/cours/partage

cela facilitera la réponse et donnera une version compatible avec tes paramètres régionaux

merci d'avance

Ta structure de données pèse énormément sur la complexité de la formule !

En B2, à tirer à droite et en bas

=iferror(query({
iferror(query(transpose(indirect("'" & $A2 & "'!$2:$4"));"select Col3 where Col2='Moy' and Col1=" & B$1 & "  ");"");
iferror(query(transpose(indirect("'" & $A2 & "'!$13:$15"));"select Col3 where Col2='Moy' and Col1=" & B$1 & " ");"")
};"select * where Col1 is not null ");"")

une structure plus simple en colonnes simplifierait la formule.

Bonjour,

Merci, la formule fonctionne bien comme je veux sur l'exemple. Par contre, sur mon vrai fichier j'ai 2 colonnes avant la colonne A de l'exemple, et je ne comprends pas la structure de la formule donc j'arrive pas à corriger moi-même.

Pourrais-tu expliciter les différents paramètres pour que je sois autonome avec ?

Alors, j'ai pris les lignes $2:$4 et $13:$15 ... s'il y en a d'autres, il faudra reproduire la même formule à la suite. Si tout était sur un seul groupe de ligne ou en colonne ce serait plus simple !

La fonction indirect("'" & $A2 & "'!$2:$4") permet de relier ces lignes au nom d'onglet compris dans A2 : attention, s'il s'agit d'une date, il faudra la transformer en texte car le nom d'onglet est en texte (sinon une date donnera quelque chose dans les 40000 !

Je transpose les données lignes pour les mettre en colonnes et pouvoir appliquer query transpose(indirect("'" & $A2 & "'!$2:$4"))

Maintenant, pour le query, les données étant en colonnes, je teste la colonne 2 (qui doit être égale à Moy) et la colonne 1 qui doit être le chiffre porté en ligne 1. "select Col3 where Col2='Moy' and Col1=" & B$1 & " "

Si pas de valeur => IFERROR

Je mets bout à bout les données en séparant les formules avec ; (paramètres régionaux 'FR'), j'encadre avec {} et je réapplique query pour ne conserver que la seule valeur obtenue en ligne 4 ou 15. Si pas de valeur => IFERROR

Merci pour ce travail

J'ai effectivement plusieurs lignes donc j'ai ajouté comme tu as dis mais j'ai un soucis, le résultat apparait une ligne en dessous et affiche #REF! sur la ligne du jour correspondant, je ne peux donc pas dérouler la formule vers le bas. Saurais-tu identifier l'erreur ?

ggsheets

Ton onglet a-t-il EXACTEMENT la valeur affichée en A2, espaces compris (attention aux espaces en terminaison de nom d'onglet ou de données)

Sinon, peux-tu mettre un lien vers ton fichier (en mp si confidentiel)

C'est préférable ... mais il faut le partager (accès refusé) https://www.sheets-pratique.com/fr/cours/partage

Accès accordé normalement, c'est bon

Autant pour moi ...

Pourquoi cela affichait en fait #REF!, c'est qu'en fait le résultat que voulait afficher google était sur 2 lignes (une ligne d'en-tête qui pourtant n'existe pas + la valeur) et la ligne en dessous bloquait l'affichage. En effaçant la ligne en dessous cela fonctionnait !

=IFERROR(query({
IFERROR(query(transpose(indirect("'" & $A2 & "'!$76:$78"));"select Col3 where Col2='Moy' and Col1=" & B$1 & "  ";0);"");
IFERROR(query(transpose(indirect("'" & $A2 & "'!$92:$94"));"select Col3 where Col2='Moy' and Col1=" & B$1 & " ";0);"");
IFERROR(query(transpose(indirect("'" & $A2 & "'!$108:$110"));"select Col3 where Col2='Moy' and Col1=" & B$1 & " ";0);"");
IFERROR(query(transpose(indirect("'" & $A2 & "'!$57:$59"));"select Col3 where Col2='Moy' and Col1=" & B$1 & " ";0);"")
};"select * where Col1 is not null ");"")

j'ai donc ajouté ;0 à la fin du query pour annuler l'affichage de l'en-tête (pourtant vierge) qu'a détecté google dans ton cas !!

Ca marche au début mais quand je déroule la formule vers la droite ça reprend une ligne en dessous, à partir du numéro 30

j'aurais dû rajouter aussi le ;0 sur le query global

=IFERROR(query({
IFERROR(query(transpose(indirect("'" & $A2 & "'!$76:$78"));"select Col3 where Col2='Moy' and Col1=" & B$1 & "  ";0);"");
IFERROR(query(transpose(indirect("'" & $A2 & "'!$92:$94"));"select Col3 where Col2='Moy' and Col1=" & B$1 & " ";0);"");
IFERROR(query(transpose(indirect("'" & $A2 & "'!$108:$110"));"select Col3 where Col2='Moy' and Col1=" & B$1 & " ";0);"");
IFERROR(query(transpose(indirect("'" & $A2 & "'!$57:$59"));"select Col3 where Col2='Moy' and Col1=" & B$1 & " ";0);"")
};"select * where Col1 is not null ";0);"")

désormais, je me méfierais de ces paramètres optionnels !

Ca à l'air de bien marcher en conditions réelles, tu me sauves !

Merci pour tout ce temps à m'aider :)

Parfait ! alors n'oublie pas

  1. de potasser ici https://www.sheets-pratique.com/fr/query
  2. de clore ce fil de discussion en cliquant sur

Mince... j'ai parlé trop vite

Mes goutteurs à partir du numéro 46 correspondent au "$57:$59" dans la formule, mais pourtant leurs débits ne s'affichent pas sur le tableau bilan

57 59

C'est très curieux ... la seule chose que je vois pour le moment, c'est que si je prends les premières lignes pour les dippers 1 à 15, lignes 9 à 13 cela ne fonctionne pas non plus !! et question subsidiaire, pourquoi lignes 57 à 59 et pas 124/126 ?

Je mets en pause, mais je vais te proposer quelques formules simplifiées maintenant que je vois la structure de ton onglet Day 1

Okay cool !

En fait ces 15 goutteurs (n°46 à 60) ne sont jamais nettoyés, donc j'ai mis leur tableau des débits dans la partie supérieure de la feuille.

La partie basse est consacrée aux débits après nettoyage comme tu vois marqué en ligne 69.

On peut le faire en 4 formules seulement, mis en jaune. Je n'ai pas encore compris le problème soulevé, mais cela fonctionne avec ce jeu de formules ! C'est toujours plus sain que des formules complexes !

Rechercher des sujets similaires à "reporter valeurs differentes feuilles feuille bilan"