Bloquer un lien hypertexte en fonction d'1 cellule

Fermé
GwendolyneCornu - 9 avril 2018 à 11:27
 GwendolyneCornu - 9 avril 2018 à 15:28
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 !


A voir également:

1 réponse

via55 Messages postés 14502 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 9 décembre 2024 2 737
9 avril 2018 à 14:57
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
0
GwendolyneCornu
9 avril 2018 à 15:28
Super, il me semble que ça marche très bien !
Merci bcp Via !
0