Bloquer un lien hypertexte en fonction d'1 cellule
GwendolyneCornu
-
GwendolyneCornu -
GwendolyneCornu -
Bonjour,
Je suis en train de créer un tableur excel dans lequel je vais utiliser bcp de lien hypertexte pour donner accès à des informations dans des pages word.
Dans ma colonne A j'ai une liste avec 2 critères - "C" - "NC"
Je souhaiterai faire en sorte que si dans ma colonne A je sélectionne "NC" alors les liens hypertextes des cellules des colonnes suivantes (B, C, D, ... ) se bloquent (qu'on ne puisse plus y accéder mais que le texte reste).
Mais lorsque je sélectionne "C" - les liens restent accessibles.
J'espère que je suis claire.. si vous pouvez m'aidez ça serait génial !
Je suis en train de créer un tableur excel dans lequel je vais utiliser bcp de lien hypertexte pour donner accès à des informations dans des pages word.
Dans ma colonne A j'ai une liste avec 2 critères - "C" - "NC"
Je souhaiterai faire en sorte que si dans ma colonne A je sélectionne "NC" alors les liens hypertextes des cellules des colonnes suivantes (B, C, D, ... ) se bloquent (qu'on ne puisse plus y accéder mais que le texte reste).
Mais lorsque je sélectionne "C" - les liens restent accessibles.
J'espère que je suis claire.. si vous pouvez m'aidez ça serait génial !
1 réponse
-
Bonjour
Pour ne plus pouvoir accéder il faut verrouiller les cellules et protéger la feuille, donc macro en VBA
1) tu selectionnes toutes les cellules (triangle à l'intersection des barres de titres en haut à gauche) puis Format de cellules - Protection et décocher Verrouillé
2) Proteger la feuille sans mot de passe (Révision - Protéger la feuille)
3) ALT+F11 pour ouvrir l'éditeur VBA
Doubleclic sur le nom de la feuille concernée dans l'arborescence à gauche puis copier-coller la macro suivante dans la page blanche
Adapter la ligne de macro qui selectionne les colonnes où verrouiller les cellules à tes besoins puis fermer l'éditeur
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A:A")) Is Nothing Then ActiveSheet.Unprotect 'deprotege la feuille Range("B" & Target.Row & ":D" & Target.Row).Select 'selectionne ligne du changement de B à D A MODIFIER si necessaire If Target.Value = "C" Then Selection.Locked = False Else Selection.Locked = True 'deverouille la ligne si C, la verouille dans le cas contraire ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True 'reprotection de la feuille ActiveSheet.EnableSelection = xlUnlockedCells End If End Sub
Cdlmnt
Via