Help : 3 Macros "simples" à faire fonctionner

lazaz -  
 lazaz -
Bonjour,

Je rencontre un problème. j'ai réalisé trois boutons de chois "niveau 1", 2 et 3.
Selon le choix de l'utilisateur cela bloque certaines colonnes.
le problème est que mon fichier ne fonctionne pas bien.
Quand je l'exécute il fonctionne mais uniquement pour le niveau sur lequel il a été exécuté et les autres ne sont pas actifs.
J'espère etre claire.
Par exemple j'exécute le niveau 1. Les colonnes autres que B sont bloquées quand je coche la case "niveau 1. Mais si je change et que je coche la case "niveau 2", ce sont toujours les colonnes de la colonne B qui sont accessibles..
Help ! (c'est ma première utilisation des macros... soyez indulgents ^^)

Voici ce que j'ai :

Sub niveau1()
With ActiveSheet
.Unprotect
.Cells.Locked = True
End With
Set rng = ActiveSheet.Range("B24:B71")
rng.Locked = False
ActiveSheet.Protect
End Sub

Sub niveau2()
With ActiveSheet
.Unprotect
.Cells.Locked = True
End With
Set rng = ActiveSheet.Range("D24:D71")
rng.Locked = False
ActiveSheet.Protect
End Sub

Sub niveau3()
With ActiveSheet
.Unprotect
.Cells.Locked = True
End With
Set rng = ActiveSheet.Range("F24:F71")
rng.Locked = False
ActiveSheet.Protect DrawingObjects:=True
End Sub


Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub


3 réponses

Maurice
 
Bonjour

ton SelectionChange est vide ?
et en plus il doit se trouver dans la feuille et pas dans un module
et ta macro dans un Module
A+
Maurice
0
lazaz
 
Heu Maurice, je ne comprends pas... Peux-tu expliquer davantage ?
C'est ma première macro, pour laquelle j'ai eu bcp d'aide...
0
Maurice
 
bonjour
redonne ton model car tu a changer pas mal de chose
A+
Maurice
0
lazaz
 
Début de la conversation si tu veux comprendre plus : https://forums.commentcamarche.net/forum/affich-31580405-help-cocher-une-cellule-engendre-blocage-certaines-cellules
----
Ce que j'ai aujourd'hui :
.................

Public rng As Range
---
Sub niveau1()
With ActiveSheet
.Unprotect
.Cells.Locked = True
End With
Set rng = ActiveSheet.Range("B24:B71")
rng.Locked = False
ActiveSheet.Protect
End Sub
----
Sub niveau2()
With ActiveSheet
.Unprotect
.Cells.Locked = True
End With
Set rng = ActiveSheet.Range("D24:D71")
rng.Locked = False
ActiveSheet.Protect
End Sub
----
Sub niveau3()
With ActiveSheet
.Unprotect
.Cells.Locked = True
End With
Set rng = ActiveSheet.Range("F24:F71")
rng.Locked = False
ActiveSheet.Protect DrawingObjects:=True
End Sub
----


Private Sub Worksheet_SelectionChange(ByVal Target As Range)

End Sub
0
lazaz
 
http://cjoint.com/?EBulDcC3L7e

Mon document simplifié.
0
Maurice
 
Bonjour
Voila les modif
regarde bien bon courage

http://cjoint.com/?3Bum4dmRv0U

A+
Maurice
0
lazaz
 
Merci ! C'est parfait :)
0
lazaz
 
Nouvelle question.

Si en plus de mon fichier tel que fait précédemment je souahite avoir une condition.
Du type : "si la case B43 est remplie alors rendre innaccessible la case B44", comment faire ??
0