[Excel] Pb de liaison dynamique

ougandor -  
 kjorgahn -
Bonjour tout le monde

Voila j'ai un fichier excel qui s'appui sur 8 autre fichiers excel pour realiser les calculs demandé.
Mon probleme est le suivant : d'une année sur l'autre le fichier excel principal ne change pas par contre le nom des 8 autre fichier excel changent ce qui me pose un pb de liaison lors de l'ouverture de ce fichier.
Comment puis je faire pour automatiser la mise a jour des liaisons svp ? sans que ce soit a faire a la main.

Merci d'avance

Je suis désole si je post au mauvais endroit mais c'est la premiere fois que j'utilise ce forum.

9 réponses

  1. Kobaya Messages postés 282 Date d'inscription   Statut Membre Dernière intervention   214
     
    bonjour ougandor,

    tu es au bon endroit.
    mais pour que quelqu'un propose, ne serait-ce qu'un début de piste, pour aider à résoudre ton problème, il faut que tu donnes plus de détails :
    les noms des 8 autres fichiers sont-ils du même format, avec une racine commune et une partie "variable", par exemple en fonction de la date. si c'est le cas, les liens peuvent sans doute être rafraichis via VBA. sinon, ça risque d'être difficile...
    0
  2. lulu37 Messages postés 80 Statut Membre 13
     
    Je vous le dit tout de suite, je n'ai pas la réponse ...
    (mais je me pose une question qui ne me semble pas si loin de la tienne Ougandor)

    Est ce possible de faire référence à tous les fichiers d'un même répertoire ?
    exemple :
    imaginons que l'on a plusieurs fichiers ( meme ligne d entete, et même type de données dans les cellules), on souhaite faire une synthese de ces fichiers sous un autre classeur.
    (facile c vrai qd ils ne changent pas de noms et qd ils sont déjà tous là !... problématique dans le cas contraire)
    En placant tous ces fichiers dans le MEME REPERTOIRE, est ce alors possible de leur faire référence via vba (ou autre moyen qui sait), l'idée étant que si on ajoute un nouveau fichier dans le répertoire quelque soit son nom, il soit automatiquement inclus lui aussi dans la synthése... (et inversement si on en supprime...)

    Ya t il un savant fou dans le forum ? lol
    0
  3. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859
     
    Bonsoir lulu37,

    en pièce jointe https://www.cjoint.com/?iExfHyUbZI un début de réponse pour ta question.

    la macro liste les fichiers d'un répertoire que tu choisis.

    il ne rest plus qu'à boucler sur ces fichiers, qu'à tester éventuellement si ce sont des classeurs excel et à les maltraiter correctement.

    cordialement
    0
    1. lulu37 Messages postés 80 Statut Membre 13
       
      Bonjour JvDo,
      ton lien ne marche pas ...pas ou plus disponible...?
      0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. lulu37 Messages postés 80 Statut Membre 13
     
    Re,

    Ca plante dans : Sub Arborescence_simple_Dossier()
    au niveau de : Dim fso As New FileSystemObject
    ca me met le message suivant :
    "erreur de compilation : projet ou bibliotheque introuvable "

    ??

    A suivre

    Ludivine
    0
  6. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859
     
    Bonsoir,

    bien-sûr, c'est vrai..... il faut ajouter la référence à "Microsoft Scripting Runtime" (menu Outils/références de VBA)

    désolé de l'oubli

    A+
    0
    1. lulu37 Messages postés 80 Statut Membre 13
       
      Coucou,
      Ca ne marche toujours pas
      0
  7. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859
     
    Bonjour,

    comprends pas!
    ça marche nickel chez moi!

    peux-tu me lister tes références actives VBA?

    A+
    0
    1. lulu37 Messages postés 80 Statut Membre 13
       
      pas de pb

      vb for application
      excel 11.0 object library
      OLE automation
      office 11.0 Object library
      manquant : ATPVBAEN.XLA
      manquant : FUNCRES.XLA
      Microsoft scripting runtime

      alors doc? qu'est ce qui va pas? lol
      0
  8. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859
     
    Bonjour,

    il suffit de décocher les manquants

    A+
    0
    1. lulu37 Messages postés 80 Statut Membre 13
       
      MERCI
      bon début de piste !
      bonne journée
      0
  9. kjorgahn
     
    Sub Actualisation()

    Dim réf1 As String
    réf1 = Range("A1").Text
    ActiveWorkbook.Names.Add Name:=réf1, RefersTo:= _
    "='" & Range("B1").Text

    End Sub

    Là tu crées un nom (cellule A1), avec la référence du résultat de B1

    Attention il y a dans la macro le ' déjà pris en compte au début de ta référence.

    Donc au lieu de mettre en B1 : ='c:\....\monfichier.xlsm'!nom
    il ne faut mettre que c:\...\monfichier.xlsm'!nom
    0