Macro pour changer automatiquement les formules

Bonjour,

je souhaite créer une macro pour changer automatiquement les formules de mon tableau.

Mon tableau a plusieurs formule prenant des valeurs dans un autre fichier Excel. Chaque mois je dois recréer un nouveau tableau reprenant les données dans un autre fichier Excel. Pour faire simple le mois dernier j'avais le fichier PerceptionAout.xls qui allait chercher les données dans MatriceAout.xls. Les tableaux ne changent pas d'un mois à l'autre je copie et crée alors le fichier PerceptionSeptembre.xls qui devra aller chercher les données dans MatriceSeptembre.xls.

Dans mes cases j'ai des formules du type ='[MatriceAout.xlsx]Feuil1'!F10 et je souhaiterai donc avec une case ou je rentre le nom de mon nouveau fichier (dans l'exemple "MacroSeptembre") afin qu'il modifie toute mes formules avec les données de cette case ! J'aurai donc ='[MatriceSeptembre.xlsx]Feuil1'!F10 après avoir tapé "MacroSeptembre" dans la case souhaitée et l'activation de la macro.

J'espere que ma demande n'est pas trop confuse, je débute dans VBA et franchement c'est le top
Merci beaucoup

bonjour,

sans VBA, tu peux utiliser la fonction indirect.exemple, en A1 tu mets le nom de ton fichier MatriceAout

=INDIRECT("'["&A1&".xls]feuil1'!F10")

Merci beaucoup, je vais essayer ca !

Bonjour,

=INDIRECT("'["&A1&".xls]feuil1'!F10")

Cela fonctionne parfaitement Merci beaucoup

Par contre j'ai une autre cellule qui récupère toujours dans le fichier situé en "A1" des données avec la formule :

=INDEX('[MatriceAout.xlsm]Feuil2'!$B$2:$B$B99;EQUIV(C4;'[MatriceAout.xlsm]Feuil2'!$A$2:$A$99))

J'ai essayé de mettre

=INDEX(INDIRECT("'["&A1&".xlsm]Feuil2'!$B$2:$B$B99");EQUIV(C4;INDIRECT("'["&A1&".xlsm]Feuil2'!$A$2:$A$99")))

mais ca ne marche pas

Bonjour,

cette formule ne fonctionne pas

=INDEX('[MatriceAout.xlsm]Feuil2'!$B$2:$B$B99;EQUIV(C4;'[MatriceAout.xlsm]Feuil2'!$A$2:$A$99))

et donc celle-ci non plus

=INDEX(INDIRECT("'["&A1&".xlsm]Feuil2'!$B$2:$B$B99");EQUIV(C4;INDIRECT("'["&A1&".xlsm]Feuil2'!$A$2:$A$99")))

correction :

=INDEX('[MatriceAout.xlsm]Feuil2'!$B$2:$B$99;EQUIV(C4;'[MatriceAout.xlsm]Feuil2'!$A$2:$A$99))

et

=INDEX(INDIRECT("'["&A1&".xlsm]Feuil2'!$B$2:$B$99");EQUIV(C4;INDIRECT("'["&A1&".xlsm]Feuil2'!$A$2:$A$99")))

Je me tire les cheveux (et j'en ai pas beaucoup) depuis deux jours. En faite mon problème c'est que le fichier Aout et pas du tout dans le meme dossier que septembre... et le tout sur réseau avec une architecture pour aout :
E:\dossier 1\dossier 2\dossier 3\dossier 4\Aout\Matrice\Matrice Aout.xlsm
E:\dossier 1\dossier 2\dossier 3\dossier 4\Aout\LOG\Perception Aout.xlsm

Pour le mois de septembre :
E:\dossier 1\dossier 2\dossier 3\dossier 4\Septembre\Matrice\Matrice Septembre.xlsm
E:\dossier 1\dossier 2\dossier 3\dossier 4\Septembre\LOG\Perception Septembre.xlsm

J'en peux plus lol

bonjour,

voir exemple de formules dans fichier joint (introduire le mois et le répertoire et adapter les formules de génération des noms de fichier et les formules INDIRECT).

4mielo29.xlsx (9.68 Ko)

Je vais essayer en tout cas merci beaucoup

Rechercher des sujets similaires à "macro changer automatiquement formules"