Le tri d'une colonne altère la référence à une cellule

Bonjour tout le monde,

J'ai un classeur avec deux feuilles.

La feuille 1 comprend des plages de données organisées visuellement en blocs. Chaque bloc représente un tableau (sans pour autant être un vrai objet "tableau") avec une colonne "Nom" et une colonne "Donnée".
La feuille 2 comprend un tableau avec trois colonnes "Bloc", "Nom" et "Donnée".

Je demande aux cellules de la colonne "Donnée" de chacun de mes blocs d'appeler les cellules correspondantes dans le tableau de la feuille 2. Tout ça fonctionne très bien, j'utilise des références à des cellules d'une feuille à l'autre sans souci.

Mon problème : si je trie le tableau, l'ordre des données de la colonne à laquelle je fais référence change. Par conséquent, les cellules de la feuille 1 qui appellent ces données m'indiquent des mauvaises données.

Comment faire pour contourner cela ?

Voici un fichier simplifié de mon problème.

Bonsoir

voir le fichier joint, mais franchement c'est pas beau, cela fonctionne mais
le fichier :

En fait il ne faut pas faire référence à la cellule de la feuille 2, il faut trouver la bonne combinaison entre le numéro de bloc, le nom et on retrouve alors la donnée.
Mais encore une fois cette formule n'est pas belle !
=INDIRECT("'Feuille 2'!C"&SOMMEPROD((Tableau1[Nom]='Feuille 1'!A6)*(Tableau1[Bloc]=1)*(LIGNE(Tableau1[Donnée]))))

elle fonctionne mais en attendant un peu des formules plus évoluées vont arrivées !

Celle ci est plus propre : =INDEX(Tableau1[Donnée];GRANDE.VALEUR((A6=Tableau1[Nom])*(DROITE('Feuille 1'!A$4)*1=Tableau1[Bloc])*(LIGNE(Tableau1[Bloc]));1)-1)

Bonsoir Arturo83 !

@ bientôt

LouReeD

Bonjour,

Avec celle-là aussi ça fonctionne:

=INDEX(Tableau1;EQUIV(1;(Tableau1[Bloc]=SUBSTITUE(A$4;"Bloc ";"")*1)*(Tableau1[Nom]=A6);0);3)

Cdlt

Merci beaucoup à vous deux !

J'ai compris la logique, je vais partir de vos formules pour voir comment je peux intégrer sur mon cas réel.

Encore merci, je reviendrai vers vous si jamais j'ai d'autres difficultés !

Sincèrement,

Richard

Bonsoir,

merci pour votre retour et remerciement !

Bon courage pour la suite de votre projet et comme vous dites, le site n'est pas loin !

@ bientôt

LouReeD

Bonjour à tous,

Vraiment juste pour le fun : une formule indépendante de la ligne 4 (dénomination des blocs)

La formule en B5 à copier sur les autres cellules B7, E6 et H6 :

=INDEX(Tableau1[Donnée];EQUIV(1;(Tableau1[Bloc]=(1+ENT((COLONNES($A:A)-1)/3)))*(Tableau1[Nom]=A6);0))

Si les blocs commencent à une autre colonne, c'est le terme COLONNES($A:A) qui sera modifié. Si on commence en colonne E par exemple alors COLONNES($A:A) sera transformé en COLONNES($E:E) (voir classeur joint).

Bonjour tout le monde,

j'ai pu regarder de plus près vos propositions et finalement, celle qui s'approche le plus de mon besoin réel est celle de @mafraise.

J'ai constaté que vous utilisiez le nom du bloc, or, dans mon cas réel celui-ci peut être modifié et j'aimerais ne pas avoir à l'utiliser.

La proposition de mafraise s'avère donc intéressante mais mon cas réel dispose d'une particularité supplémentaire : les blocs ne sont pas agencés qu'en ligne, ils sont aussi en colonne.

Par conséquent, la formule ne marche plus quand je les agence ainsi.

Auriez-vous des pistes pour ne pas utiliser le nom du bloc et pour un agencement en ligne et colonne ?

Merci d'avance,

Richard

Bonjour,

désolé du double post mais je souhaitais vous partager la méthode que j'ai finalement utilisée.

Je suis parti de vos idées mais j'ai choisi de rentrer manuellement des formules pour chacun de mes blocs.

Voici la formule que j'ai utilisée :

=INDEX(Data[Donnée];EQUIV("Bloc 1"&A3;Data[Bloc]&Data[Nom];0))

Dans cette formule, je dois modifier manuellement le nom du bloc ("Bloc 1", "Bloc 2"...). J'ai suivi cette méthode car je n'ai pas trouvé de réel moyen automatique d'identifier les blocs.

Je vous partage le fichier final. Encore merci à vous pour votre aide !

Sincèrement,

Richard

Bonsoir,

Merci pour ce retour ! Bonne continuation pour votre projet.

@ bientôt

LouReeD

Rechercher des sujets similaires à "tri colonne altere reference"