Re
modification des formules afin quelles soient "transposables".
Attention ! la présentation doit être la même pour que les instruction INDIRECT fonctionnent.
INDIRECT a deux fonctionnements : en référence de type A1 (paramètre à VRAI) ou en référence de type L1C1 (paramètre à FAUX)
Pour la première formule DATE!B2, il a suffit de remplacer le 2 par le n° de colonne où se trouve la formule en enlevant 1 pour avoir 2
=> colonne C = 3 => 3-1 = 2 donc INDIRECT("DATA!B"&COLONNE()-1)
Le soucis avec cette formule est quand on la recopie sur le deuxième tableau, il n'y a pas le décalage de 20 car le deuxième tableau on a DATA!B22
Il faut donc ajouter 20, mais ensuite 40 et surtout 0 pour le premier tableau.
La solution est de calculer 20 en fonction du n° de ligne où se trouve la formule
Premier tableau la formule est en ligne 6, le deuxième tableau est en ligne 11, le suivant en ligne 16...
Dénominateur commun =>5 et pour un décalage de 20 on x par 4, donc
(ligne()-6) x 4 => (6-6) x 4 = 0 pour la première formule et pour cette même formule du tableau du dessous :
(11-6)x 4 = 20 !!!
CQFD
L'autre façon d'utiliser INDIRECT est avec L1C1, c'est ce que j'ai fait avec la formule du milieu :
car en C7 on test la formule en D6 c'est à dire une ligne de moins mais une colonne de plus donc on a D6 par rapport a C7 avec INDIRECT => L(-1)C(+1) => INDIRECT("L"&ligne()-1&"C"&colonne()+1;FAUX)
pour le troisième formule du tableau c'est la même que la première sauf qu'il faut soustraire 8 à la ligne et non pas 6 :
(ligne()-8) x 4 = > (8-8) x 4 = 0 pour le premier tableau
(13-8) x 4 = 20 pour le deuxième tableau, on retrouve l'incrémentation de 20 !
Ou simplement voir le fichier joint :
@ bientôt
LouReeD