Rendre dynamique une référence à un fichier

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Will-e-coyote

XLDnaute Occasionnel
Bonjour le forum !

Lorsqu'une formule fait référence à des données contenues dans un autre fichier, on a quelquechose du style :

Code:
=SOMME('[MonFichier.xls]Mafeuille'!A1:B25)

Le problème étant que si ce fameux fichier bouge, les formules deviennent inopérantes.

Ce que je cherche à faire c'est de pouvoir mettre une constante à la place pour tester si le fichier est présent au bon endroit et, le cas échéant venir modifier sa valeur (avec le bon emplacement) en laissant le soin à l'utilisateur de trouver via une openfile box.

Le hic, c'est que j'ai créé cette constante en définissant le nom "Source" comme étant égal au chemin complet, mais ça ne fonctionne pas... 🙁

Code:
Source = "H:\MonFichier.xls"
du coup ma formule devient
=SOMME('[Source]Mafeuille'!A1:B25)

Quelqu'un peut-il m'aider y/c en indiquant comment modifier éventuellement la constante....

Un grand merci par avance🙂
 
Re : Rendre dynamique une référence à un fichier

Bonjour Will-e-coyote, mromain 🙂

Je ne comprends pas trop le problème.

Si l'on ferme le fichier source, la référence s'écrit avec son chemin d'accès.

Et si la formule ne retrouve pas ensuite le fichier, il est proposé une recherche de fichiers pour la mise à jour des liaisons.

Edit : salut JB

A+
 
Re : Rendre dynamique une référence à un fichier

Salut Job !

Effectivement, j'avais oublié ce détail, mais en fait c'est parce que si on change la place du fichier, excel demandera à chaque fois d'effectuer cette recherche.... chose que je souhaiterai eviter si possible 😀

Merki
 
Re : Rendre dynamique une référence à un fichier

Exemple d'écriture dynamique de formule si on modifie le nom du classeur (fermé)

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address = "$A$2" Then
    repertoire = ThisWorkbook.Path
    [b2].Formula = "=Sum('" & repertoire & "\[" & [A2] & "]Feuil1'!$A$2:$B$7)"
  End If
End Sub

JB
 

Pièces jointes

Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour