Liaison

Le
Manu
Bonjour,

J'ai un fichier que je nomme "Synthèse.xlsx" ou j'ai une liaison avec un
fichier qui se nomme "toto 2014-06-12.xlsx" Le soucis c'est que chaque jour
je dois créer un nouveau fichier "toto 2014-06-13.xlsx". etc

Je souhaiterais que mon fichier synthèse prenne toujours ma liaison du
dernier fichier. l'idéale sera que dans mon fichier synthèse j'ai une
cellule avec la date 2014-06-13 et que lorsque je changerais la date, ma
liaison aille chercher le fichier de la date que je taperais.

J'ai déjà tenté avec Indirect, mais impossible.

Avez-vous une idée sans faire de macros.

Merci

Manu



Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active.
http://www.avast.com
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DanielCo
Le #26193782
Bonjour,
Installe morefunc.xll et sers toi de la fonction INDIRECT.EXT; plus de
précisions ici :
http://www.xcell.excelabo.net/morefunc_installation
ou alors, une macro...
Daniel


Bonjour,

J'ai un fichier que je nomme "Synthèse.xlsx" ou j'ai une liaison avec un
fichier qui se nomme "toto 2014-06-12.xlsx" Le soucis c'est que chaque jour
je dois créer un nouveau fichier "toto 2014-06-13.xlsx".... etc

Je souhaiterais que mon fichier synthèse prenne toujours ma liaison du
dernier fichier. l'idéale sera que dans mon fichier synthèse j'ai une cellule
avec la date 2014-06-13 et que lorsque je changerais la date, ma liaison
aille chercher le fichier de la date que je taperais.

J'ai déjà tenté avec Indirect, mais impossible.

Avez-vous une idée sans faire de macros.

Merci

Manu


---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant
parce que la protection avast! Antivirus est active.
http://www.avast.com
MichD
Le #26193772
Bonjour,

Afin de pouvoir vérifier si le contenu de la cellule B1 où tu inscris la modification de la date(tu peux modifier à volonté
l'adresse de la cellule), débute par créer un "NOM" de la collection "Names" avec la valeur du contenu de la cellule B1.
Cette ligne de code doit être exécutée une seule fois pour créer le nom :
ThisWorkbook.Names.Add Name:="LaDate", RefersTo:=Format(Range("B1"), "dd-mm-yyyy"), Visible:úlse
Note que le paramètre "Visible" = False signifie que ce nom n'apparaît pas dans la fenêtre des noms de l'interface de calcul.

Copie le code suivant dans le module de la feuille où tu mets à jour la date
Ce code n'a pas été explicitement testé!
'------------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Liens As Variant, LeLien As Variant, X As String

If Not Intersect(Target, Range("B1")) Is Nothing Then
'vérifie que le contenu de B1 est une date
If IsDate(Range("B1")) Then
'Si la date est différente de cellule du nom "Ladate"
If Range("B1") <> [LaDate] Then
'Extrait dans un tableau "Liens" tous les liens du fichier
Liens = ThisWorkbook.LinkSources(xlExcelLinks)
'Boucle sur tous les liens.
For Each LeLien In Liens
'Remplace dans le chemin du lien, l'ancienne date par la nouvelle en b1
X = Replace(LeLien, Format([LaDate], "dd-mm-yyyy"), Format(Range("B1"), "dd-mm-yyyy"))
'Modifie la valeur du nom "Ladate"
ThisWorkbook.Names.Add Name:="LaDate", _
RefersTo:=Format(Range("B1"), "dd-mm-yyyy"), Visible:úlse
'désactive les procédures événementielles
Application.EnableEvents = False
'modifie le lien
ThisWorkbook.ChangeLink LeLien, X, xlLinkTypeExcelLinks
'Met à jour les données du lien
ThisWorkbook.UpdateLink LeLien, xlLinkTypeExcelLinks
'Active les procédures événementielles.
Application.EnableEvents = True
'En supposant que cela doit se faire que pour un lien
Exit For
Next
End If
End If
End If
End Sub
'------------------------------------------------------------
MichD
Le #26193812
Un détail important, le fichier avec la nouvelle date en B1 doit réellement exister avant de penser à modifier le lien!
Manu
Le #26195862
Merci Messieurs, je vais tester et vous tiendrais au courant. Mais est-ce
que cela aurait été possible uniquement en formule mais avec les fonctions
que possèdent Excel 2010 par défaut, Ca me rassurerais de ne pas y avoir
arrivé ! Merci

Manu

"MichD" a écrit dans le message de groupe de discussion :
lnhiao$mgn$

Un détail important, le fichier avec la nouvelle date en B1 doit réellement
exister avant de penser à modifier le lien!


---
Ce courrier électronique ne contient aucun virus ou logiciel malveillant parce que la protection avast! Antivirus est active.
http://www.avast.com
Publicité
Poster une réponse
Anonyme