Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

liaisons

5 réponses
Avatar
Manu
Bonsoir,

J'ai un fichier maitre que l'on va appellé titi.xslx

J'ai dans un dossier C:\dossier\
Plusieur fichiers : mimi 2011.xslx ; mimi 2012.xslx ; mimi 2013.xslx

J'ai dans mon fichier titi une liaison avec le fichier mimi 2011.xslx

Je souhaiterais dans mon fichier titi.xslx avoir dans une cellule la
possibilité de taper soit 2011 ; 2012 ; 2013 afin que ma liaison se mette à
jour en fonction du nom de fichier : mimi 2011.xslx ; mimi 2012.xslx ; mimi
2013.xslx

Suis je clair ? J'ai tenté avec indirect, mais impossible.

Merci

Manu

5 réponses

Avatar
GL
Le 23/05/2013 17:39, Manu a écrit :
Bonsoir,

J'ai un fichier maitre que l'on va appellé titi.xslx

J'ai dans un dossier C:dossier
Plusieur fichiers : mimi 2011.xslx ; mimi 2012.xslx ; mimi 2013.xslx

J'ai dans mon fichier titi une liaison avec le fichier mimi 2011.xslx

Je souhaiterais dans mon fichier titi.xslx avoir dans une cellule la
possibilité de taper soit 2011 ; 2012 ; 2013 afin que ma liaison se mette à
jour en fonction du nom de fichier : mimi 2011.xslx ; mimi 2012.xslx ; mimi
2013.xslx

Suis je clair ? J'ai tenté avec indirect, mais impossible.



Ben si avec INDIRECT :

L'adresse sera :

="'[mimi " & <cellule 2011/2012/2013> & ".xlsx]Feuil1'!$A$1"

(pour la cellule A1 de la Feuil1)

Attention à bien mettre les simple quotes (') au bons endroits.
Avatar
GL
Le 23/05/2013 18:32, GL a écrit :
Le 23/05/2013 17:39, Manu a écrit :
Bonsoir,

J'ai un fichier maitre que l'on va appellé titi.xslx

J'ai dans un dossier C:dossier
Plusieur fichiers : mimi 2011.xslx ; mimi 2012.xslx ; mimi 2013.xslx

J'ai dans mon fichier titi une liaison avec le fichier mimi 2011.xslx

Je souhaiterais dans mon fichier titi.xslx avoir dans une cellule la
possibilité de taper soit 2011 ; 2012 ; 2013 afin que ma liaison se
mette à
jour en fonction du nom de fichier : mimi 2011.xslx ; mimi 2012.xslx ;
mimi
2013.xslx

Suis je clair ? J'ai tenté avec indirect, mais impossible.



Ben si avec INDIRECT :

L'adresse sera :

="'[mimi " & <cellule 2011/2012/2013> & ".xlsx]Feuil1'!$A$1"

(pour la cellule A1 de la Feuil1)

Attention à bien mettre les simple quotes (') au bons endroits.




NB: le fichier "mini 2011.xlsx" doit être ouvert pour
qu'INDIRECT fonctionne.

Cordialement.
Avatar
MichD
Bonjour,


Suppose que tu as seulement l'année du fichier en A1
comme dans Mini 2011.xlxs

Tu peux utiliser cette formule seulement si le fichier dont
l'année apparaît en A1 est OUVERT. La fonction indirect()
ne fonctionne pas dans une référence si le fichier est fermé.
La formule retourne alors #Ref!
=INDIRECT("'[Mini " & A1 &".xlsm]Feuil1'!$A$1")

Dans la formule, le chemin du fichier n'est pas indiqué, car le
fichier était ouvert...

Une alternative est d'installer la macro complémentaire de
Laurent Longre : "MoreFunc"

Tu peux la télécharger à cette adresse :
http://www.xcell.excelabo.net/accueil
sous l'onglet : MoreFunc(fr)

Quelques manipulations après l'installation :

1/ ouvrir fichier excel
2/ fichier
3/ Option excel
4/ complément
5/ voir si l'onglet gérer et bien sur ( complément excel )
6/ choisir un complément d'application actif (n'importe lequel )
7/ appuyer sur " atteindre "
8/ dans la fenêtre macro complémentaire faire " parcourir "
9/ là tu cherche le fichier " Morefunc " en principe dans =>C:/progame
files/Morefunc
tu doit voir 3 macros complémentaire
tu choisis en premier la macro nommé "Morefunc" => OK => elle doit
apparaître maintenant dans la fenêtre => OK
recommence l'opération pour les macros nommées "Morefunc11" et "Morefunc12"

Dans la formule que je t'ai donnée, tu remplaces
Indirect() par indirect.Ext() . Cette dernière fonction est compatible
avec les fichiers fermés


MichD
---------------------------------------------------------------
Avatar
GL
Le 23/05/2013 19:09, MichD a écrit :
Bonjour,

Dans la formule que je t'ai donnée, tu remplaces
Indirect() par indirect.Ext() . Cette dernière fonction est compatible
avec les fichiers fermés



mais seulement avec les versions 32 bits d'excel...
(désolé d'insister ;-) )



MichD
---------------------------------------------------------------
Avatar
Baton .rouge
On Thu, 23 May 2013 17:39:08 +0200, "Manu"
wrote:

Bonsoir,

J'ai un fichier maitre que l'on va appellé titi.xslx

J'ai dans un dossier C:dossier
Plusieur fichiers : mimi 2011.xslx ; mimi 2012.xslx ; mimi 2013.xslx

J'ai dans mon fichier titi une liaison avec le fichier mimi 2011.xslx

Je souhaiterais dans mon fichier titi.xslx avoir dans une cellule la
possibilité de taper soit 2011 ; 2012 ; 2013 afin que ma liaison se mette à
jour en fonction du nom de fichier : mimi 2011.xslx ; mimi 2012.xslx ; mimi
2013.xslx

Suis je clair ? J'ai tenté avec indirect, mais impossible.

Merci

Manu




Avec une macro ?

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Application.Intersect(Target, Range("Coordonnée de la cellule
où se trouve l'année au format A1 entre guillemet")) Is Nothing Then

' Faire ta cuisine avec rechercher/remplacer
.Cells.Replace What:="mimi 2011.xslx", Replacement:="mimi 2012.xslx"


End If
End Sub


En gros quand tu modifie la cellule contenant l'année, la macro
remplace une chaine par une autre dans la feuille (toute les occurence
???)

Faut adapté, je fais ça de mémoire. tu peux être restrictif en
selectionnant une plage de cellule à remplacer.


Y a plein de truc sur google :
http://stackoverflow.com/questions/409434/automatically-execute-an-excel-macro-on-a-cell-change