Protection sur protection et suppression de contenu

Imer2007

XLDnaute Occasionnel
Bonjour le forum,

Toujours suite à mes prouesses excelliennes... J'ai 2 questions à vous soumettre, dont l'une qui, à mon avis, n'aura pas de réponses, mais bon vu que vous êtes des cracks, à l'impossible nul n'est tenu...

Ma première question :
- j'ai plusieurs cellules qui contiennent des listes de validations liées (suite à mes récentes demandes), ce que j'aimerais, c'est que si je supprime le contenu de ma première cellule de validation, le contenu des autres cellules liées est aussi supprimée.
J'ai vu qu'une macro le faisait :

Private Sub CommandButton1_Click()
[c12].ClearContents 'choix des cellules
End Sub

Cependant, toutes mes cellules de validation sont des cellules fusionnées... Donc je suppose qu'il est impossible de supprimer le contenu de cellules fusionnées, quelque chose dans le genre :

Private Sub CommandButton1_Click()
[c12:c15].ClearContents 'cellules fusionnées de C12 à C15
End Sub

Bon, ca c'est ma première question...

La deuxième est peut être plus complexe (en apparence).

J'ai un classeur avec plusieurs feuilles dont une déjà protégée mais dont certaines cellules sont accessibles. J'aimerais qu'une fois les cellules de cette feuille remplies, lorsque l'utilisateur clique sur un bouton "VALIDER", ca lui protège la feuille entière, donc qu'il ne l'ait plus qu'en affichage. Il aurait cependant accès aux autres feuilles en modification.

Ma question est : est-ce possible de "surprotéger" une feuille déjà protégée ?

Merci d'avance pour vos réponses et conseils.
 

JNP

XLDnaute Barbatruc
Re : Protection sur protection et suppression de contenu

Bonjour Imer2007 :),
Ma première question :
- j'ai plusieurs cellules qui contiennent des listes de validations liées (suite à mes récentes demandes), ce que j'aimerais, c'est que si je supprime le contenu de ma première cellule de validation, le contenu des autres cellules liées est aussi supprimée.
J'ai vu qu'une macro le faisait :
Private Sub CommandButton1_Click()
[c12].ClearContents 'choix des cellules
End Sub
Cependant, toutes mes cellules de validation sont des cellules fusionnées... Donc je suppose qu'il est impossible de supprimer le contenu de cellules fusionnées, quelque chose dans le genre :
Private Sub CommandButton1_Click()
[c12:c15].ClearContents 'cellules fusionnées de C12 à C15
End Sub
Bon, ca c'est ma première question...
La question n'est pas très claire, dans le cas de cellules fusionnées, seule la première cellule a du contenu, donc [c12].ClearContents est équivalent à [c12:c15].ClearContents, et les 2 fonctionnent. Si tu veux dé-fusionner, [c12:c15].UnMerge...
La deuxième est peut être plus complexe (en apparence).
J'ai un classeur avec plusieurs feuilles dont une déjà protégée mais dont certaines cellules sont accessibles. J'aimerais qu'une fois les cellules de cette feuille remplies, lorsque l'utilisateur clique sur un bouton "VALIDER", ca lui protège la feuille entière, donc qu'il ne l'ait plus qu'en affichage. Il aurait cependant accès aux autres feuilles en modification.
Ma question est : est-ce possible de "surprotéger" une feuille déjà protégée ?
C'est pas "surprotéger", il faut simplement supprimer la protection de la feuille, verrouiller les cellules et reprotéger la feuille
Code:
Sheets("Feuil1").Unprotect "MdP"
[a1].Locked = True
Sheets("Feuil1").Protect "MdP"
Bonne journée :cool:
 
Dernière édition:

ROGER2327

XLDnaute Barbatruc
Re : Protection sur protection et suppression de contenu

Bonjour Imer2007, JNP
Comme JNP, je ne perçois pas bien le sens de la première question.
Pour la deuxième, je vais dans le même sens que lui.
Code:
[COLOR="DarkSlateGray"][B]Sub Valider()
    ActiveSheet.Unprotect
    Cells.Locked = True
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub[/B][/COLOR]
associé à un bouton placé sur une feuille verrouillera l'ensemble de la feuille.
Pour déverrouiller, on peut exécuter
Code:
[COLOR="DarkSlateGray"][B]Sub Saisir()
    ActiveSheet.Unprotect
    ActiveSheet.Range("B4:C14").Locked = False [COLOR="SeaGreen"]'Plage à adapter : cellules dont la modification est autorisée.[/COLOR]
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub[/B][/COLOR]
la feuille concernée étant activée. Dans cet exemple, la plage "B4:C14" sera libérée, le reste de la feuille étant protégée.​
ROGER2327
#3403


16 Floréal An CCXVIII
2010-W18-3T12:13:40Z
 
Dernière édition:

Imer2007

XLDnaute Occasionnel
Re : Protection sur protection et suppression de contenu

Bonjour JNP,

Donc si je comprends bien :
En gros il faudrait, défusionner les cellules, supprimer le contenu de la première cellule puis refusionner ?
Grosso modo :
Private Sub CommandButton1_Click()

[c12:c15].Unmerge 'cellules à défusionner
[C12].clearContents 'suppression du contenu
[C12:C15].merge ' refusion des cellules
End Sub

Je teste cette option et je vois aussi pour la protection, c'est ce que je pensais mais je voulais etre sur.

Merci en tout cas.
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 393
Messages
2 088 006
Membres
103 696
dernier inscrit
lgerbaud