Ouvrir classeur Hyperlinks.Add en ReadOnly?

  • Initiateur de la discussion Initiateur de la discussion Damorek
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

Damorek

Guest
Je me demandais si c'était possible d'ouvrir un classeur en ReadOnly en utilisant Hyperlinks.add


Code:
'With Thisworkbook.Worksheets(1)
        .Hyperlinks.Add Anchor:=.Range("C29"), Address:="C:\Mes Documents\ _
         Mes Classeurs\TheClasseur.xls", _
         SubAddress:="Sheet(2)!B200", TextToDisplay:="Ceci est un Exemple"
'End With

Merci
 
Re : Ouvrir classeur Hyperlinks.Add en ReadOnly?

Pas possible, car le fichier que je veux ouvrir avec les Hyperlinks est ouvert par plusieurs classeur différent.

Le Gestionnaire de Projet doit pouvoir l'ouvrir en Read-Write

Le Designer doit pouvoir l'ouvrir en Rea-Only seulement pour empêcher les modifications

Merci
 
Re : Ouvrir classeur Hyperlinks.Add en ReadOnly?

Bonjour Damorek, salut JC 🙂

Je crois qu'il faut en prendre son parti, Damorek ne sait pas dire "Bonjour".

Ou peut-être en polonais dzień dobry 😕 Qu'il n'hésite pas 🙂

Quoi qu'il en soit voici une solution :

1) nommer Cible (onglet Formules-Gestionnaire de noms) la cellule Sheet(2)!B200 dans TheClasseur.xls

2) créer le lien hypertexte en lançant cette macro :

Code:
Sub Lien()
Dim a$
a = "C:\Mes Documents\Mes Classeurs\TheClasseur.xls"
With ThisWorkbook.Worksheets(1)
  .Hyperlinks.Add Anchor:=.Range("C29"), Address:=a, _
    SubAddress:="Cible", TextToDisplay:="Ceci est un Exemple"
End With
End Sub
3) dans le code de la feuille du lien, coller cette macro événementielle :

Code:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
If Target.SubAddress = "Cible" Then
  Workbooks.Open Target.Address, ReadOnly:=True 'lecture seule
  Application.Goto ActiveWorkbook.Name & "!Cible"
End If
End Sub
4) clic sur le lien, TheClasseur.xls est ouvert 2 fois de suite, la 2ème fois en lecture seule.

A+
 
Re : Ouvrir classeur Hyperlinks.Add en ReadOnly?

Re,

Si l'on veut absolument utiliser la référence 'Sheet(2)'!B200 procéder ainsi :

1) Créer le lien en lançant :

Code:
Sub Lien()
Dim a$
a = "C:\Mes Documents\Mes Classeurs\TheClasseur.xls"
With ThisWorkbook.Worksheets(1)
  .Hyperlinks.Add Anchor:=.Range("C29"), Address:=a, _
    SubAddress:="'[TheClasseur.xls]Sheet(2)'!B200", TextToDisplay:="Ceci est un Exemple"
End With
End Sub
Attention, pour SubAddress, ne pas oublier les guillemets anglais (quotes).

2) Coller dans le code de la feuille du lien la macro :

Code:
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
If Target.SubAddress Like "*!B200" Then
  Workbooks.Open Target.Address, ReadOnly:=True 'lecture seule
  Application.Goto Evaluate(Target.SubAddress)
End If
End Sub
A+
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
829
S
Réponses
5
Affichages
979
Réponses
8
Affichages
1 K
C
Réponses
1
Affichages
1 K
Cattleya97
C
F
Réponses
2
Affichages
691
F
B
Réponses
7
Affichages
2 K
B
Retour