Probléme liaisons entre plusieurs classeurs

Bonjour, j'ai un souci avec des liaisons entre plusieurs classeurs:

je récupére des données synthétiques sur un classeur destination. Ces données proviennent de plusieurs classeurs sources (identiques dans leur forme et les fonctions mais différents dans leurs valeurs). Pour mes fichiers sources, j'utilise un fichier type que je renomme avec une date différente (ex : fichierglobal_101111, fichierglobal_121111...).

Le souci est que mon classeur destination qui comporte la liaison "de base" avec le fichier source type modifie toutes les valeurs importées avec les valeurs du dernier fichier source enregistré. Comment faire pour que les liaisons se fassent automatiquement selon les noms des différents fichiers sources ? L'utilisation d'un classeur modèle peut il régler le problème ?

Merci !

Bonjour

Ceci est probablement faisable à partit de la fonction INDIRECT.EXT du Pack Morefunc.

Installation guidée et facile.

Cordialement

merci mais je ne peux installer ce pack sur mon poste pro, je souhaite une solution utilisant uniquement les ressources d'excel 2003. Est ce possible ?

cordialement, arvin

Bonjour

Il existe une fonction personnalisée de Laurent Longre qui fait la même chose. Cependant, n'étant pas un pro de VBA, je l'ai abandonnée au profit de INDIRECT.EXT de Morefunc, suite à des plantages d'Excel incompréhensibles.

Tu peux toujours la tester sur ton système.

Le Zip contient 4 fichiers, 3 contenant une valeur et le 4éme contenant la fonction personnalisée pour récupérer ces valeurs.

Les fichiers doivent être dans le même répertoire.

Vordialement

Bonjour,

je ne peux utiliser cette méthode, car mes fichiers sont des dossiers séparés, et je ne peux pas les modifier. J'ai refait une nouvelle présentation de la problématique, j'espére qu'elle est plus précise et qu'elle suscitera des conseils :

Je pars d'un classeur excel source.

Pour l'instant je travaille sur le format xls, mais je vais l'enregistrer comme modèle car c'est un document type pour la saisie des données. D'ailleurs je me pose la question du format à utiliser pour l'enregistrement du modèle avec les macros ? votre avis sur ce point svp ?

un fichier source (classeur A) comporte 3 feuilles :

- 1 feuille pour la saisie des informations (il s'agit de sessions de formations pour une assoc, donc 1 tableau avec 1 ligne par adhérent (nom, prenom, age, sexe...) Plusieurs formules sur la feuille, permettant de "batonner" des cellules en fonction de combinaison de critères (ex : si X a plus de 21 ans et a le bac, alors il est dans la catégorie A sinon la B)

1 feuille de synthèse, dont certaines cellules affichent les valeurs cumulées pour l'ensemble des inscrits sur la feuille A, et d'autres cellules affichent des données statistiques en pourcentage issue des la feuille "saisie".

1 feuille pour l'export (le coeur du probleme). Cette feuille reprend sur une ligne unique les données de la feuille synthèse, ligne qui ordonne les données dans l'ordre du tableau destination qui sera dans la classeur AAA.

J'ai une macro qui exporte (copier, collage spécial tout avec liaison) cette ligne dans le classeur AAA, donc 1 ligne par classeur source.

Le problème : j'ai fait un 1er export, pas de souci.

J'enregistre la classeur A sous le nom classeur B, je modifie les valeurs, j'exporte vers classeur AAA.

et dans mon classeur AAA j'ai bien les 2 lignes exportées, mais toutes les 2 présentent les valeurs du classeur B. et ma liaison a été renommée classeur B, la liaison vers le classeur A a disparu de la liste des liaisons. alors que je souhaitais que l'enregistrement du classeur B entraine la création d'une nouvelle liaison, en plus de l'existante dans le classeur AAA.

C'est pour ce motif que je pensais que partir d'un modèle pouvait éventuellement résoudre le pb, mais ca me semble trop simple.

je joins la macro d'export réalisée pour plus de clarté

Sub EXPORT_STATS()
'
' EXPORT_STATS Macro
' Macro enregistrée le 07/12/2011
'

'
    Sheets("export").Select
    Range("A3:AM3").Select
    Selection.Copy
    Windows("stats_2012_V1_071211.xls").Activate
    Range("A65536").End(xlUp).Offset(1, 0).Select
    ActiveSheet.Paste Link:=True
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 8
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 11
    ActiveWindow.ScrollColumn = 12
    ActiveWindow.ScrollColumn = 13
    ActiveWindow.ScrollColumn = 14
    ActiveWindow.ScrollColumn = 15
    ActiveWindow.ScrollColumn = 16
    ActiveWindow.ScrollColumn = 17
    ActiveWindow.ScrollColumn = 18
    ActiveWindow.ScrollColumn = 19
    ActiveWindow.ScrollColumn = 20
    ActiveWindow.ScrollColumn = 21
    ActiveWindow.ScrollColumn = 22
    ActiveWindow.ScrollColumn = 23
    ActiveWindow.ScrollColumn = 24
    ActiveWindow.ScrollColumn = 25
    Application.CutCopyMode = False
    Range("A65536").End(xlUp).Offset(1, 0).Select
    ActiveWorkbook.Save
End Sub

J'espère que j'ai réussi a vous expliquer clairement le problème.

Votre avis ?

merci

Il me semble avoir finalement trouvé la solution à ce problème qui n'en était apparemment pas un. L'enregistrement du document source au format xlt (modele), puis la création de fichiers source a partir de ce modele génère les liaisons correspondantes.

J'ai fait plusieurs essais concluants, mais j'aimerais connaitre votre point de vue sur cette méthode. est elle 100% fiable, et est on limité en nombre de liaisons sur un classeur xls ?

Rechercher des sujets similaires à "probleme liaisons entre classeurs"