Ouvrir plusieurs liens hypertextes dynamiques

la cellule A1 du classeur qui contient la macro est sans doute protégée.

Bonjour,

Le fichier qui contient la macro est protégé par un mot de passe pour la modification en général. J'ai donc supprimé cette protection globale puis relancé la macro :

Erreur d'exécution '-2147221014 (800401ea)':

Impossible d'ouvrir le fichier spécifié.

Débogage > Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True est surligné

Bonjour,

Les derniers essais étant restés infructueux, je me permets de relancer ce sujet avec un fichier excel en exemple.

Les 4 liens hypertexte sont les fichiers que je dois ouvrir pour que les formules du bas fonctionnent.

Les choses sont identiques dans les autres onglets de mon fichier original donc ça fait beaucoup de fichiers source à ouvrir...

Merci encore.

Je retente ma chance

Pour résumé :

Mon fichier va chercher des données dans différents fichiers sources. Le chemin d'accès de ces fichiers sources changent tous les mois.

Pour rendre mon fichier final dynamique, j'utilise :

• la formule LIEN_HYPERTEXTE avec des variables (une cellule pour le mois U1 et une autre pour l'année T2)

Exemple : =LIEN_HYPERTEXTE("\\serveur\secteurs\Daf\40_Filiales\Reporting Mensuel\8 pages\Réel FY"&T2&"\"&TEXTE(U1;"00")&" FY"&T2&"\Reporting package IBERICA "&TEXTE(U1;"00")&".FY"&T2&".xlsm";"RP Espagne")

• la formule INDIRECT également avec des variables

Exemple : =INDIRECT("'\\serveur\secteurs\Daf\Dcb\BASE FIN\Consolidation\FY"&$T$2&"\"&TEXTE($U$1;"00")&" FY"&$T$2&"\Livrables\P&L\[P&L réél brut FY "&$T$2&" "&TEXTE($U$1;"00")&".xls]"&TEXTE($U$1;"00")&"'!$"&B$1&"$"&$S4&"";VRAI)

B1 étant une référence pour la colonne et S4 pour la ligne dans les fichiers source

Sans module complémentaire, je n'ai pas d'autre choix que d'ouvrir chaque fichier source (LIEN_HYPERTEXTE) pour que mes formules INDIRECT fonctionnent. Dans le cas contraire, j'obtiens un beau #REF!

Ayant une bonne dizaine de fichiers source à ouvrir (qui ne sont pas forcément dans les mêmes dossiers), je voudrais rassembler tous les LIEN_HYPERTEXTE dans un seul bouton/macro/code. Un clic et toutes les sources s'ouvrent.

Un grand merci par avance !

J'ai fini par réussir mais partiellement. Ce code VBA me permet d'ouvrir tous mes fichiers en une seule fois :

Sub open_links()
'
' open_links Macro
'

'
' Ouverture P&L brut
    Range("A1").Select
    Workbooks.Open Filename:= _
        "\\serveur\Daf\Dcb\BASE FIN\Consolidation\FY" & Right(Range("T2"), 2) & "\" & Right(Range("U1"), 2) & " FY" & Right(Range("T2"), 2) & "\Livrables\P&L\P&L réél brut FY " & Right(Range("T2"), 2) & " " & Right(Range("U1"), 2) & ".xls" _
        , UpdateLinks:=0
    ActiveWindow.Visible = False
    Windows("P&L réél brut FY " & Right(Range("T2"), 2) & " " & Right(Range("U1"), 2) & ".xls").Visible = True
    Windows("Septembre.xlsm").Activate
' Ouverture RP Y
    Workbooks.Open Filename:= _
        "\\serveur\Daf\40_Filiales\Reporting Mensuel\8 pages\Réel FY" & Right(Range("T2"), 2) & "\" & Right(Range("U1"), 2) & " FY" & Right(Range("T2"), 2) & "\Reporting package filialeX " & Right(Range("U1"), 2) & ".FY" & Right(Range("T2"), 2) & ".xls" _
        , UpdateLinks:=0
    ActiveWindow.Visible = False
    Windows("Reporting package filialeX " & Right(Range("U1"), 2) & ".FY" & Right(Range("T2"), 2) & ".xls").Visible = True
    Windows("Septembre.xlsm").Activate
' etc avec les autres fichiers
' T2 c'est l'année et U1 le mois
End Sub

Ce code ouvre les fichiers et les laissent ouverts. On peut les ouvrir tout en les masquant en supprimant les 2 dernières lignes de chaque partie soit Windows("..........").Visible = True et Windows ("......").Activate

En gardant ce code, je voudrais que la ligne Windows(".........").Activate soit dynamique.

Actuellement, mon fichier de travail c'est September.xlsm mais ça sera Octobre.xlsm le mois prochain.

Si les fichiers que j'ouvre en automatique sont visibles, alors la macro doit repasser obligatoirement par mon fichier de travail pour pouvoir ouvrir les fichiers restants.

Merci.

EDIT

J'ai utilisé cette méthode :

• Nommer mon fichier de travail

MonFichier = ActiveWorkbook.Name

• Et je mets ceci à la fin de chaque ouverture de fichier source

Workbooks(MonFichier).Activate

Problème résolu !

Rechercher des sujets similaires à "ouvrir liens hypertextes dynamiques"