Choisir une feuille de comparaison en changeant le contenu d'une cellule - fonction INDIRECT

Bonjour à tous,

En réalisant une petite application de retraitement de données, j'ai été amené à ajouter le résultat du traitement dans une nouvelle feuille.
Jusque là, pas de problèmes.

Ensuite, je veux comparer le résultat de ce traitement (en E2) avec une la feuille intiale.
Pour les XLérateurs, voici la formule finale 🙂
=SI(A2=INDIRECT($E$2&"!A"&LIGNE());"Match parfait";"Erreur")

Ci-dessous, le détail de la formule.

En Feuille Initiale, on a ceci :
excel-indirect-ligne-initial

Et on veut comparer cette feuille initiale avec le traitement1 et le traitement2 (ajout de fautes d'orthographes !)
excel-indirect-ligne-traitement1
excel-indirect-ligne-traitement2

D'où la formule suivante :
=SI(A2=INDIRECT($E$2&"!A"&LIGNE());"Match parfait";"Erreur")
qui permet de reprendre l'adresse de la cellule à comparer :
$E$2&"!A"&LIGNE()
soit
"Traitement1!A2"
et ensuite avec INDIRECT de renvoyer la valeur de la cellule.
On se trouve donc avec une formule comme ceci :
=SI(A2=INDIRECT("Traitement1!A2");"Match parfait";"Erreur"), et le INDIRECT renvoit donc :
=SI(A2="Ceci est le premier résultat";"Match parfait";"Erreur")

Evidemment, deux avantages :
- on peut recopier la formule vers le bas, grâce à LIGNE.
- en changeant la valeur en E2, par exemple, en utilisant Traitement2, toutes les formules se mettent automatiquement à jour !

Voilà, j'espère que vous allez aimer cette approche et qu'elle vous sera très utile.
excel-indirect-ligne

A bientôt.

Gaëtan