Lien dynamique vers autre classeur

BOnjour a tous

je cherche à créer un lien qui envois vers une cellule d'un autre fichier excel

Mais je souhaiterais que le nom du classeur cible soit dynamique ( le fichier change tout les mois )

Lien classique : =RECHERCHEV($B$4;'C:\Users\\2018\09SEPTEMBRE\[trucmachin.xlsx]Page1'!$A:$AA;7;0)

Pas de soucis ca marche:

Je souhaite que le nom "trucmachin" pointe vers une cellule

donc genre ceci (remplacement du nom par valeur dans cellule) :

=RECHERCHEV($B$4;'C:\Users\\2018\09SEPTEMBRE\[A2.xlsx]Page1'!$A:$AA;7;0)

et en cellule A2 "trucmachin"

POuvez vous me sauver la vie ....? merci

Bonjour,

tu peux utiliser la fonction INDIRECT pour construire ta formule. Mais il faut que le classeur soit ouvert !

sinon il faut passer par VBA pour construire la formule

avec classeur ouvert :

=RECHERCHEV($B$4;indirect("'["&A2&".xlsx]Page1'!$A:$AA");7;0)

avec classeur fermé

559source.xlsx (44.44 Ko)

et à quel endroit dois rentrer l'adresse du classeur

C:\Users\toto\Dropbox\\2018\09SEPTEMBRE ?

Merci pour ta reponse mais

mon fichier se trouv edans un autre repertoire que la source

J'ai besoin de rentrer un chemin dans une cellule

exemple A1 : C:\Users\toto\Dropbox\\2018\09SEPTEMBRE

Le fichier

cellule A2 "trucmachin.xls"

La page en A3 " Page1"

sur ton fichier le lien vers le classeur n'est pas modifiable

sur ton fichier le lien vers le classeur n'est pas modifiable

je pense que tout est modifiable

je vais revoir cela

C'est bien modifiable §

Bon je te remets une version simplifiée

en B1, tu écrases la formule et tu mets TON chemin

en B2, tu mets le fichier vers lequel tu pointes

en B3, tu mets l'onglet

en B4 tu mets l'adresse

... le résultat sera en C4 : [C4].FormulaLocal = "='" & [B1] & "[" & [B2] & "]" & [B3] & "'!" & [B4]

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B:B")) Is Nothing Then
    [C4].FormulaLocal = "='" & [B1] & "[" & [B2] & "]" & [B3] & "'!" & [B4]
End If
End Sub

C'est vraiment cela

par contre comment puis je faire pour dupliquer ces formules

j'ai 50 fichiers a connecter

comment dois je copier coller le code, ou avec quelle modif ?

merci

Oui, bon, c'est un démonstrateur ... il faut adapter le code VBA à ton besoin.

Si tu connais VBA ... il faut

  • mettre en paramètres le chemin, le fichier, l'onglet et la cellule cible
  • adapter la macro (pas forcément en évènementiel comme je l'ai fait) pour mettre la formule dans la zone adhoc

Aurais-tu une description de ton fichier de façon à te guider ?

merci en tout cas pour ton aide

voici la structure

repertoire principal

LABO

sous répertoires avec les mois

Janvier

Fevrier etc

dans chaque répertoire ce trouve env 50 à 60 feuilles de calcul différentes qui se nomment

exemple pour le mois de septembre et donc dans le repertoire SEPTEMBRE

labo1 0918.xls (avec des nom de onglet different donc a definir dynamiquement

labo2 0918.xls

etc

idem pour OCTOBRE

labo1 1018.xls

labo2 1018.xls

la feuille que je dois faire dois faire une synthese de 2 cases de chaque feuille et ce par labo et par mois

donc je dirais en

A1 septembre

B2 nom labo1

C2 cellule x de la feuille labo1 0918

d2 cellule y de la feuille labo1 0918

B3 nom labo2

C3 cellule x de la feuille labo2 0918

d3 cellule y de la feuille labo2 0918

jespere etre clair

pourrions nous nous appeler ?

Bonjour,

la feuille que je dois faire

donc la feuille reste à faire, elle est "libre"

je vais réfléchir à une solution de paramétrage

dans chaque répertoire ce trouve env 50 à 60 feuilles de calcul différentes qui se nomment

exemple pour le mois de septembre et donc dans le repertoire SEPTEMBRE

labo1 0918.xls (avec des nom de onglet different donc a definir dynamiquement

labo2 0918.xls

etc


la feuille que je dois faire dois faire une synthese de 2 cases de chaque feuille et ce par labo et par mois

donc je dirais en

A1 septembre

B2 nom labo1

C2 cellule x de la feuille labo1 0918

d2 cellule y de la feuille labo1 0918

la seule chose à éclaircir, ce sont les noms d'onglet que tu veux définir dynamiquement, mais que je ne ois pas apparaître dans la synthèse ... peux-tu m'éclairer sur ce point ?

Iui en fait je pensais a avoir une table simple avec comme donnees dynamique

Date ( 0809)

Labo onglet nomdefichier0809.xls caseb3

Labo1 onglet1 nomdefichier10809.xls caseh4

Labo2 onglet2 nomdefichier20809.xls caseh4

Avec cette table je peux generer le chemin d acces

Qui sera au debut identique

C://truc/truc/labo/nomdefichier0809.xls onglet case

Qu’en penses tu ?

ok

donc en espérant que ce soit assez clair (sinon n'hésite pas)

tout changement sur la ligne 1 provoquera la mise à jour

Private Sub Worksheet_Change(ByVal Target As Range)
If [ok] <> "ok" Then Exit Sub

If Not Intersect(Target, Rows(1)) Is Nothing Then
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    With ActiveSheet.ListObjects(1)
        For i = 1 To .ListRows.Count
            With .DataBodyRange
                .Cells(i, 4).Value = "='" & [chemin] & [mois] & "\[" & .Cells(i, 2).Value & "]" & .Cells(i, 3).Value & "'!" & Cells(1, .Cells(i, 4).Column).Value
                .Cells(i, 5).Value = "='" & [chemin] & [mois] & "\[" & .Cells(i, 2).Value & "]" & .Cells(i, 3).Value & "'!" & Cells(1, .Cells(i, 5).Column).Value
            End With
        Next
    End With
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
End If

End Sub

edit : pour faciliter l'adaptation chez toi, j'ai ajouté une zone "ok"; tant que cette zone n'est pas égale à ok les formules ne se mettent pas en place. C'est pour éviter un bazar complet tant que les paramètres ne sont pas tous en place !

Ecoute je suis en weekend la je n'ai que mon mac

mais cela m'a l'air absolument parfait

ces foutus fichiers de labos sont tous differents donc je pointerais la cellule en fonction

Je teste ça demain je te redis mais un grand merci pour la prousesse

bonjour

tout ça est compliqué

faire menu Données obtenir de classeur

Excel charge les fichiers (2 ou 500 peu importe)

ensuite tu fais ce que tu veux.

dans 5 minutes ça marche (sur ton PC, pas ton Mac de loisirs)

aucune macro

amitiés à tous

Rechercher des sujets similaires à "lien dynamique classeur"