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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
DanielCo
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
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
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
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 '------------------------------------------------------------
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
'------------------------------------------------------------
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
Un détail important, le fichier avec la nouvelle date en B1 doit réellement exister avant de penser à modifier le lien!
Un détail important, le fichier avec la nouvelle date en B1 doit réellement exister avant de penser à modifier le lien!
Un détail important, le fichier avec la nouvelle date en B1 doit réellement exister avant de penser à modifier le lien!
Manu
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
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$1@speranza.aioe.org...
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
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