Collage Spécial avec liaison

Bonjour !

J'ai un fichier excel avec des collages spéciaux avec liaisons vers d'autres fichiers excels

Voici par exemple :

='F:\Mes_Documents\[meteo.xls]METEO'!W6

Je voudrais mettre dans le fichier excel des liaisons de ce type :

='F:\Mes_Documents\200805\[meteo.xls]METEO'!W6

En clair, on rajoute juste ...\200805\... dans la formule qui est une liaison.

La valeur 2008 est dans une cellule ainsi que 05.

Est-il possible de prendre les valeurs des 2 celulles et de les ajouter dans la formule pour obtenir ='F:\Mes_Documents\200805\[meteo.xls]METEO'!W6 ?

(de façon automatique et non manuelle)

D'avance merci !

Salut,

Avec la fonction Concatener().

="\"& A1 & A2 & "\"

avec A1 = 2008 et A2 = 05...

J'attends ta réponse

='F:\Mes_Documents\&A1&A2\[meteo.xls]METEO'!W6

En supposant que A1 = 2008

Et A2 = 05

J'ai fais un test, cela ne fonctionne pas... j'obtiens #REF!

En faite j'utilse donc un fichier excel nommé X qui contient plusieurs liaisons (Collage Spécial avec liaison) vers d'autre fichier excel dans des dossiers de type "200803" "200804" "200805" etc...

Sur le fichier excel X j'ai donc 2 cellules A1 et A2 avec respectivement l'année et le mois Je souhaite en modifiant ces 2 cellules (en mettant 2003 à A1 et 09 à A2 par exemple) que les formules comprenant les liaisons se mettent à jour et viennent donc prendre dans le dossier 200309 les infos . (on modifie donc juste la liaison)

Bonjour

Une formule texte est inopérante pour une liaison. Pour l'activer, il faut passer par un bout de Code (que d'autres trouvent curieux, mais qui fonctionne)

Exemple sur le fichier joint pour lequel j'ai créé sur mon disque D: un répertoire 200805 contenant un fichier meteo.xls et le nombre 200 en W6 d'une feuille METEO.

Bien sur, à l'ouverture, la liaison ne sera pas activée, si les conditions similaires ne sont pas remplies.

Dans ton cas, tu remplaceras D par F..

Attention aux formules textes, il vaut mieux passer par des listes déroulantes pour les composer car la moindre faute d'orthographe ou d'erreur Majuscule-minuscule provoque bien sur une erreur.

https://www.excel-pratique.com/~files/doc/3MHOStraitement.xls

Cordialement

Bonjour Amadéus !

Un grand merci...

J'ai testé avec ton fichier. C'est la première fois que je vois du code VBA...

Par contre, cela marche pour une cellulle.

Sur mes fichiers excel dans les différents dossiers 200805, 200804, 200803 ... j'ai plusieurs colonnes et plusieurs lignes avec des valeurs.

En clair, ce n'est pas seulement en W6 dans les fichiers météo... je suppose qu'il faut modifier le code VBA ?

Admettons que j'ai 200 celulles... ça va en faire des lignes ??

Par exemple j'ai 4 valeurs dans le fichier METEO en F6,F7,G6 et G7 (en réalité j'en ai plus de 200...)

Je dois donc faire ça...

Sub Liaison_Variable()
'
' Liaison_Variable Macro
' Macro enregistrée le 14/09/2006 par Amadéus
'

'
    Range("C1").Select
    Selection.Copy
    Range("D6").Select
    ActiveSheet.Paste
    Range("D6").Select
    Application.CutCopyMode = False
    Selection.NumberFormat = "General"
    ActiveCell.Value = ActiveCell.Value

    Range("C2").Select
    Selection.Copy
    Range("D7").Select
    ActiveSheet.Paste
    Range("D7").Select
    Application.CutCopyMode = False
    Selection.NumberFormat = "General"
    ActiveCell.Value = ActiveCell.Value

    Range("C3").Select
    Selection.Copy
    Range("E6").Select
    ActiveSheet.Paste
    Range("E6").Select
    Application.CutCopyMode = False
    Selection.NumberFormat = "General"
    ActiveCell.Value = ActiveCell.Value

    Range("C4").Select
    Selection.Copy
    Range("E7").Select
    ActiveSheet.Paste
    Range("E7").Select
    Application.CutCopyMode = False
    Selection.NumberFormat = "General"
    ActiveCell.Value = ActiveCell.Value

End Sub

Evidemment en C1, C2 , C3 et C4 ce sont les formules...

On ne peut pas alléger ?

Bonjour

Les spécialistes de ce Forum savent que je suis nul en VBA.

J'ai repéré quelques trucs faciles et récurrents. Là, je maitrise. et c'est parce que j'ai vu ta question "à la traine" que j'ai répondu.

Je suis bien incapable d'aller plus loin. Faisons un appel aux spécialistes VBA qui passent par là réguliérement..

Cordialement

Merci tout de même... j'ai donc effectué au moins 685 fois la même opération et cela fonctionne

Une autre question... peut-on excécuter la macro lorsque l'on ouvre le fichier exel ? (afin de mettre à jour directement les liens ?)

Hello

Pour démarrer ta macro à l'ouverture du fichier, il faut dans ThisVorkbook

mettre le code

Private Sub Workbook_Open()

Call Nom de ta macro

End Sub

Personne pour simplifier le Code de notre ami ?

Surprenant...

Cordialement

Bonsoir,

pour pouvoir simplifier le code, ce serait bien d'avoir la plage d'entrée, et la plage de destionation, car :

Par exemple j'ai 4 valeurs dans le fichier METEO en F6,F7,G6 et G7 (en réalité j'en ai plus de 200...)

Pour moi, il n'y a que 4 cellules.....

Donc, si je comprends bien, de F6 à F105 et de G6 à G105?

Sinon, vite fait de faire de ce fil, une pelote.....

Rechercher des sujets similaires à "collage special liaison"