Bonjour à tous,
Tout d'abord je vous souhaite à tous une excellente année 2020.
Je dois régulièrement mettre à jour un tableau excel qui a d'autre fichier excel en source (liens via formule dans les cellules), et ces mêmes fichiers sources ont aussi d'autre liens. A l'image de poupées russes.
Je souhaiterais pouvoir ouvrir tous les fichiers (sources et sources de source) via une macro.
La macro ci-joint ne peut ouvrir que les liens du 1er fichier excel que j'ai ouvert. Ainsi, je souhaiterais que la macro ci-dessous se "relance" dès qu'un nouveau excel s'ouvre avec de nouveau lien.
L'autre souci, c'est que si un fichier est déjà ouvert, la macro bug, il faudrait qu'elle puisse continuer à tourner en ignorant le fichier déjà ouvert.
Merci de votre aide.
Sub Ouvrir_Liens()
Dim F As Worksheet, a, i&
Set F = ActiveSheet
a = ThisWorkbook.LinkSources
If Not IsArray(a) Then Exit Sub
For i = 1 To UBound(a)
Workbooks.Open a(i)
Next
Application.Goto F.[A1]
End Sub
Tout d'abord je vous souhaite à tous une excellente année 2020.
Je dois régulièrement mettre à jour un tableau excel qui a d'autre fichier excel en source (liens via formule dans les cellules), et ces mêmes fichiers sources ont aussi d'autre liens. A l'image de poupées russes.
Je souhaiterais pouvoir ouvrir tous les fichiers (sources et sources de source) via une macro.
La macro ci-joint ne peut ouvrir que les liens du 1er fichier excel que j'ai ouvert. Ainsi, je souhaiterais que la macro ci-dessous se "relance" dès qu'un nouveau excel s'ouvre avec de nouveau lien.
L'autre souci, c'est que si un fichier est déjà ouvert, la macro bug, il faudrait qu'elle puisse continuer à tourner en ignorant le fichier déjà ouvert.
Merci de votre aide.
Sub Ouvrir_Liens()
Dim F As Worksheet, a, i&
Set F = ActiveSheet
a = ThisWorkbook.LinkSources
If Not IsArray(a) Then Exit Sub
For i = 1 To UBound(a)
Workbooks.Open a(i)
Next
Application.Goto F.[A1]
End Sub