macro excel - créer un tableau récapitulant les liaisons de la feuille

macro excel - créer un tableau récapitulant les liaisons de la feuille - VB/VBA/VBS - Programmation

Marsh Posté le 23-08-2010 à 19:57:33    

Bonjour à tous,
 
J'ai un fichier qui contient énormément de liaisons avec d'autres classeurs. Je dois modifier ces liaisons chaque mois et le faire à la main me prend beaucoup de temps.
Mon idée était de créer une macro qui m'afficherait dans une feuille de mon classeur la liste de toutes les liaisons (dans la colonne A par exemple).
J'irais inscrire dans la colonne B le nouveau chemin.
Puis grâce à une autre macro modifierais toutes mes liaisons.
 
Cependant, je ne sais pas comment faire la première macro.(En utilisant linksources??)
 
Quelqu'un pourrait-il m'éclairer??
 
Merci par avance.

Reply

Marsh Posté le 23-08-2010 à 19:57:33   

Reply

Marsh Posté le 24-08-2010 à 10:12:40    

Bonjour,
 
Les liaisons sont-elles dans des formules?
Sont-elles toujours aux mêmes endroits (mêmes cellules), ou de nouvelles liaisons sont créées quand d'autre sont détruites tous les mois?
Le chemin dépend-il de la liaison, ou est-ce le même pour toutes les liaisons?
 
En fait, je cherche l'intérêt de récapituler toutes les liaisons sur une feuille, pour les modifier, plutôt que de les modifier directement à leurs places.

Reply

Marsh Posté le 25-08-2010 à 08:08:41    

Bonjour,
 
Il s'agit en fait de liens entre différents fichiers et le chemin des fichiers source change tous les mois.
Je veux donc modifier tous les chemins d'un coup plutôt que de les modifier un par un à travers la boite de dialogue "modifier les liaisons".

Reply

Marsh Posté le 25-08-2010 à 09:42:16    

Code :
  1. Sub procLiaison()
  2. Dim strLink As String
  3. Dim i As Integer
  4. Dim varLinks As Variant
  5.     ' Charge la liste des liaisons dans varLinks
  6.     varLinks = ThisWorkbook.LinkSources
  7.    
  8.     ' Nouveau chemin
  9.     strLink = "c:\Nouveau chemin\fichier.xls"
  10.    
  11.     If Not IsEmpty(varLinks) Then
  12.         ' Boucle sur la liste des liaisons
  13.         For i = 1 To UBound(varLinks)
  14.             ' Met le lien à jour.
  15.             ThisWorkbook.ChangeLink varLinks(i), strLink
  16.         Next i
  17.     End If
  18. End Sub


 
  Voilà un exemple pour t'aider à démarrer.
 
  Ici, toutes les liaisons ont remplacées par le même fichier. Il faut donc adapter.
 
 
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed