Bonsoir,
"Indirect" permet d'utiliser le contenu d'une cellule non comme une valeur mais comme une adresse.
En C3 je met l'année : 2015
en C2 je construit la plage où je dois aller : ="'"&C3&"'!A4:H1000" ce qui donne '2015'!A4:H1000
qui va être utilisée comme une plage. Pour transformer cette chaîne en adresse j'utilise Indirect.
Donc en clair la formule en C4 : RECHERCHEV($A4;INDIRECT(C$2);5;FAUX) signifie
RECHERCHEV($A4;'2015'!A4:H1000;5;FAUX).
Sierreur est juste un test d'erreur qui renvoie "" si erreur. Par exemple Fred en 2015 n'a pas eu d'entretien. Plutôt que d'avoir #N/A je met vide. Juste esthétique.
Recréons une colonne :
1- Vous sélectionnez la colonne H puis faites Insertion
2- Vous prenez Colonne G copier, puis Colonne H Coller.
3- Tout est vide puisque l'onglet 2020 n'existe pas. ( J'ai fait un incrément sur les années )
4- En H3 vous entrez 2017. Et vous retrouvez les valeurs présentes en colonne E.
( évidemment cette astuce ne marche que si les onglets portent comme nom l'année, sinon il faut revoir les formules de la ligne 3 )
J'espère avoir été plus clair.
N'hésitez pas en cas de soucis.
Addon:
Indirect :
Comment utiliser la fonction INDIRECT dans Excel pour modifier la référence à une cellule dans une formule sans modifier la formule elle-même.
Sierreur :
Comment utiliser la fonction IFERROR dans Excel pour intercepter et gérer les erreurs dans une formule.