Bonjour tout le monde,
Je ne sais pas si le titre de ma discussion est très claire
J'ai un classeur Fréquentation avec une macro qui permet d'ouvrir et d'actualiser des données sur le classeur Auto_Freq_Irec_v2
Une fois que la macro a terminé l'actualistation, mon tableau Fréquentation va chercher des données dans le tableau Aut_Freq_Irec_v2 grâce à des formules Index.Equiv sous forme matricielle. Exemple pour la cellule L57 :
{=SIERREUR(INDEX([Auto_Freq_Irec_v2.xlsm]RecopieValeur!$F$2:$F$457;EQUIV($L$2&A57;[Auto_Freq_Irec_v2.xlsm]RecopieValeur!$D$2:$D$457&[Auto_Freq_Irec_v2.xlsm]RecopieValeur!$E$2:$E$457;0));0)}
La formule ci dessus est la formule d'origine.
Or quand j'actualise les données du tableau Auto_Freq_Irec_v2, les références absolues de la formule se décale de 2 colonnes et la formule devient donc :
{=SIERREUR(INDEX([Auto_Freq_Irec_v2.xlsm]RecopieValeur!$H$2:$H$457;EQUIV($L$2&A57;[Auto_Freq_Irec_v2.xlsm]RecopieValeur!$F$2:$F$457&[Auto_Freq_Irec_v2.xlsm]RecopieValeur!$G$2:$G$457;0));0)}
Et cela ainsi de suite à chaque fois que je lance ma macro d'actualisation.
Mes formules sont écrites manuellement et ma macro ne fait jamais appel à ces formules. Elle lance uniquement une requête VBA permettant d'actualiser les données importées d'une base de données.
J'espère que j'aurais réussi à me faire comprendre car j'avoue ne pas comprendre comment des références figées peuvent se décaler comme cela. Peut être que cela est du à la forme matricielle de ma formule ?
Je vous remercie grandement pour votre aide
Partager