Cases à coch V2 de Gaetan Mourmant...

  • Initiateur de la discussion Initiateur de la discussion Christian
  • 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 !

C

Christian

Guest
Bonjour à tout le forum,
Bonjour Gaetan,

J'utilise l'appli 'case à cocher' de Gaetan, c'est super, simple et ça ouvre plein de possibilités... Bravo et Merci à toi Gaetan.

Je souhaiterais pouvoir verrouiller certaines cellules :
question à Gaetan et à vous le forum :

à quel endroit du code puis-je insérer la ligne de commande pour dévérouiller la feuille (ActiveSheet.Unprotect) puis pour la revérouiller (ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True).

Merci pour le temps que vous voudrez bien m'accorder.
Bien amicalement

Christian

Le code ;

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Teste si la cellule ayant recu un double-clic fait partie de la plage bd_present
'Cette plage a été définie de manière dynamique à l'aide de la fonction suivante :
' =DECALER(Feuil1!$B$2;;;NBVAL(Feuil1!$A:$A)-1)
'Voir le menu Insertion - Nom - Définir
If Not (Intersect(Target, Range('bd_present')) Is Nothing) Then
'Mise en forme de la cellule
Target.Font.Name = 'Wingdings'
Target.HorizontalAlignment = xlCenter
'Empêche la sélection de la cellule après le double-clic
Cancel = True
'Teste de la valeur de la cellule et inverse la case à cocher
Target.Value = inverse(Target.Value)
End If
End Sub
 
Bonjour à tous

Je pense que le code ci-dessous devrait te convenir.

Il faut cependant ne pas oublier de déverrouiller les cellules (ou la colonne) contenant les cases à cocher (utiliser le menu Format - Cellules - Protection).

Bonne journée.

Gaetan Mourmant
www.polykromy.com

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Teste si la cellule ayant recu un double-clic fait partie de la plage bd_present
'Cette plage a été définie de manière dynamique à l'aide de la fonction suivante :
' =DECALER(Feuil1!$B$2;;;NBVAL(Feuil1!$A:$A)-1)
'Voir le menu Insertion - Nom - Définir
If Not (Intersect(Target, Range('bd_present')) Is Nothing) Then
'Déverrouille la feuille
ActiveSheet.Unprotect
'Mise en forme de la cellule
Target.Font.Name = 'Wingdings'
Target.HorizontalAlignment = xlCenter
'Empêche la sélection de la cellule après le double-clic
Cancel = True
'Teste de la valeur de la cellule et inverse la case à cocher
Target.Value = inverse(Target.Value)
'reverrouille la feuille
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
End Sub
 
Bonsoir à tout le forum,

Bonsoir Gaetan,

Merci pour ton code, j'ai toutefois un message d'erreur Sub ou Function non défine à hauteur de la ligne :
Target.Value = inverse(Target.Value) sur inverse?

Peux-tu m'éclairer

Bien amicalement

Christian
 
Bonsoir à tout le forum,
Bonsoir Gaetan?

Je pense que c'est mon fichier qui bug?
En effet si j'applique ton code (avec protégé/déprotégé) sur ta version 2 (que j'ai copié depuis le forum) ça marche.

Je t'envoie mon fichier sur ton site (124ko)...

Merci pour l'aide que tu m'apporte

Bien amicalement
Christian
 
- 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
4
Affichages
185
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
347
Retour