XL 2019 Lien Hypertexte et Verrouillage Cellule

Ghassen

XLDnaute Nouveau
Bonjour
j'ai un fichier ou toutes les feuilles/cellules sont verrouillées sauf celles ou on a droit à y faire des modifs

mon problème est que le verrouillage de cellule rend les liens hypertexte inactifs
y'a t il un moyen de verrouiller la cellule tout en gardant le lien hypertexte actif

Important, il faut que la cellule soit verrouillée sinon on peut supprimer ou modifier le lien par l'utilisateur, ce qui est à éviter pour le reste..(donc .EnableSelection = xlUnlockedCells lors du verrouillage et la propriété des cellule/Protection est sur Verrouillée)

VB:
'Tout Verrouiller et cacher sauf la feuille en cours'
'----------------------------------------------'
Function VerAll()
Set Affiche = ActiveSheet
    For i = 1 To Sheets.Count
        Sheets(i).Visible = true
        Sheets(i).Activate
        With ActiveSheet
            .Protect UserInterfaceOnly:=True, Password:="Mot de passe", AllowFiltering:=True
            .EnableSelection = xlUnlockedCells
            .EnableAutoFilter = True
        End With
        If Sheets(i).Name <> Affiche.Name Then Sheets(i).Visible = xlVeryHidden
    Next
Affiche.Select 
End Function

J'ai cherché dans le forum mais j'ai pas réussi à trouver une réponse précise malheureusement

Merci à vous.
 

fanch55

XLDnaute Barbatruc
Bonjour,
le .EnableSelection = xlUnlockedCells est trop restrictif, il vous suffit d'indiquer Contents:=True pour avoir accès au hyperlink tout en protégeant le contenu .

VB:
        With ActiveSheet
            .Protect UserInterfaceOnly:=True, _
                     Password:="Mot de passe", _
                     DrawingObjects:=True, _
                     Contents:=True, _
                     AllowFiltering:=True
'            .EnableSelection = xlUnlockedCells
            .EnableAutoFilter = True
        End With
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Lorsque tu verrouilles la feuille (onglet Révision/protéger la feuille), tu peux cocher "Insérer des liens hypertexte"
Les cellules sont protégées mais tu peux ouvrir le lien hypertexte.
pour le VBA
VB:
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowInsertingHyperlinks:=True

JHA
 
Dernière édition:

Ghassen

XLDnaute Nouveau
Bonjour,
le .EnableSelection = xlUnlockedCells est trop restrictif, il vous suffit d'indiquer Contents:=True pour avoir accès au hyperlink tout en protégeant le contenu .

VB:
        With ActiveSheet
            .Protect UserInterfaceOnly:=True, _
                     Password:="Mot de passe", _
                     DrawingObjects:=True, _
                     Contents:=True, _
                     AllowFiltering:=True
'            .EnableSelection = xlUnlockedCells
            .EnableAutoFilter = True
        End With
Bonjour @fanch55 et merci pour ta réponse
j'ai fait la modif mais aucun résultat, les liens hypertextes sont inactifs une fois la feuille protégée..!
 

Ghassen

XLDnaute Nouveau
Bonjour à tous,

Protection 1234

JHA
Salut JHA et merci pour ta réponse

ok mais là les cellules verrouillées sont accesibles après protection

Nouveau Image bitmap.jpg


Mon cas est que seulement sélectionner les cellules déverrouillé est coché, rien pour le reste,
et en VBA,

J'ai ajouté en AllowInsertingHyperlinks = true
Mais ça n'a aucun effet (et n'a pas de sens puisque ça permet d'ajouter des Hyperliens ..

Help !
 

Ghassen

XLDnaute Nouveau
Etonnant !!!, voici ce que cela fait chez moi :
Regarde la pièce jointe 1169379
ça va me rendre fou ça marche pas chez moi et je ne sais pas pourquoi !

VB:
Function VerAll()
    Set Affiche = ActiveSheet
    For i = 1 To Sheets.Count
        Sheets(i).Visible = True
        Sheets(i).Activate
        With ActiveSheet
            .Protect UserInterfaceOnly:=True, Password:="Mot de Passe", AllowFiltering:=True, Contents:=True
            '  .EnableSelection = xlUnlockedCells
            .EnableAutoFilter = True
        End With
         If Sheets(i).Name <> Affiche.Name Then Sheets(i).Visible = xlVeryHidden
    Next
    Affiche.Select   
End Function
 

Pièces jointes

  • Nouveau Image bitmap (2).jpg
    Nouveau Image bitmap (2).jpg
    508 KB · Affichages: 18
Dernière édition:

Ghassen

XLDnaute Nouveau
A priori pas de solutions car une fois les cellules verrouillées et l'option .locked reste sur true le lien hypertexte ne marche pas
j'ai essayé autre chose
contourner ceci par
Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
'Vérifie que la cellule est verrouillée
If Target.Range.Locked = True Then
'Déverrouille temporairement la cellule
Target.Range.Locked = False
'Accède au lien hypertexte
Target.Follow
'Re-verrouille la cellule
Target.Range.Locked = True
Else
'Si la cellule n'est pas verrouillée, accède directement au lien hypertexte
Target.Follow
End If
End Sub
mais ça ne marche pas et génére un bug..
 

Discussions similaires

Statistiques des forums

Discussions
312 534
Messages
2 089 383
Membres
104 152
dernier inscrit
sabalex