Microsoft 365 Déprotéger le texte (pas l'objet) de la "ZoneTexteMessage" en gardant la feuille protégée

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

J'ai une "ZoneTexteMessage"
Je n'arrive pas à déprotéger le texte (pas l'objet) de la "ZoneTexteMessage" en gardant la feuille protégée

j'ai cherché un peu partout mais je n'ai pas trouvé :mad:
Depuis ce matin j'ai fait un tas d'essais sans succès :mad:

Auriez-vous le bon code ?
En cas, je joins le fichier test.

je vous remercie et vous souhaite une belle fin de dimanche,
Amicalement,
Lionel,
 

Pièces jointes

  • zone_texte.xlsm
    21.6 KB · Affichages: 18
Dernière édition:
Solution
Lionel, le code ci-joint devrait le faire
VB:
Sub protection()
    ActiveSheet.Unprotect
    [ZoneTexteMessage].Locked = True
    [ZoneTexteMessage].LockedText = True
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Sub déprotege()
    ActiveSheet.Unprotect
    [ZoneTexteMessage].Locked = True
    [ZoneTexteMessage].LockedText = False
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

fanch55

XLDnaute Barbatruc
Bonsoir Lionel,
Elle est où cette zone ?
1619375557057.png
 

job75

XLDnaute Barbatruc
Bonsoir Lionel, fanch55,

Je pense qu'il n'y a pas de solution avec une Zone de texte.

Par contre avec une TextBox (contrôle ActiveX) c'est facile :
VB:
Sub protection()
Feuil1.OLEObjects("TextBox1").Object.Locked = True
End Sub

Sub déprotege()
Feuil1.OLEObjects("TextBox1").Object.Locked = False
End Sub
A+
 

Pièces jointes

  • TextBox(1).xlsm
    23.3 KB · Affichages: 3

fanch55

XLDnaute Barbatruc
Lionel, le code ci-joint devrait le faire
VB:
Sub protection()
    ActiveSheet.Unprotect
    [ZoneTexteMessage].Locked = True
    [ZoneTexteMessage].LockedText = True
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Sub déprotege()
    ActiveSheet.Unprotect
    [ZoneTexteMessage].Locked = True
    [ZoneTexteMessage].LockedText = False
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
 

fanch55

XLDnaute Barbatruc
Bonjour @job75, Lionel,

Il y a d'autres "dommages" collatéraux :
il semblerait que les touches de navigation et le return/entrée du clavier soient également de temps en temps non opérationnels dans la zone texte ( pas de problème avec la souris ) .
J'ai modifié le code pour que ce phénomène ( sur mon poste ? ) soit moins fréquent 😩

VB:
Sub protection()
    With ActiveSheet
        .Unprotect
        With [ZoneTexteMessage]
            .Locked = True             ' par sécurité
            .LockedText = True
            .Interior.Color = 6737151  ' orange
        End With
        .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        .EnableSelection = xlNoSelection
    End With
End Sub
Sub déprotege()
    With ActiveSheet
        .Unprotect
        With [ZoneTexteMessage]
            .Locked = True            ' par sécurité
            .LockedText = False
            .Interior.Color = 9359785 ' vert clair
        End With
        .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
        .EnableSelection = xlNoRestrictions
    End With
    With [ZoneTexteMessage].ShapeRange.TextFrame2.TextRange
        .Characters(.Characters.Count, 0).Select
    End With
End Sub

Mais cela ne solutionne pas ce qu'a fait remarquer @job75 :
Lorsque le curseur est dans la Zone de texte le clic sur le bouton protection n'a pas d'effet.
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour Gérard, Bonjour fanch55, le Forum,
Je vous souhaite une belle journée :)

"Lorsque le curseur est dans la Zone de texte le clic sur le bouton protection n'a pas d'effet."
De mon côté, ce n'est pas un souvi car j'ai déprotégée A1 que je sélectionne pour sortir de la Zone de texte.

Merci fanch55 pour ce nouveau code,
lionel :)
 

Discussions similaires

Réponses
4
Affichages
611

Membres actuellement en ligne

Statistiques des forums

Discussions
312 294
Messages
2 086 896
Membres
103 404
dernier inscrit
sultan87