Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Supprimer une ligne dans feuille protégée

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

I

INFRA

Guest
Bonjour,

Je souhaiterais savoir si il n'y a pas un moyen d'autoriser la suppressio de ligne malgré la protection de la feuille.
Je m'explique: j'ai une feuille de saisie (un tableau) ou certaines colonnes sont protégées (celles ou il y a des formules). je souhaiterais néanmoins autoriser la suppression de ligne si nécessaire.
J'ai bien cocher la case autoriser spprimer ligne dans le menu de protection mais cela ne fonctionne pas.
J'ai ensuite essayé par macro:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim Plage As Range

Plage = Range.Rows("1:500")


If Rows(Plage).Select Then
ActiveSheet.Unprotect
Else
ActiveSheet.Protect
End If

End Sub

même résultat.
Petite info supplémentaire, je souhaiterais pouvoir activer cette macro seulement dans le cas ou la ligne entière est selectionné, dans la plage donnée

Y a t il une solution?
 
Re : Supprimer une ligne dans feuille protégée

Bonjour,

pour que tu puisses supprimer la ligne, il faut que les toutes les cellules de cette même ligne soient déverouillées.... Par vba, il faut déprotéger ta feuille en début de procédure et le re-protéger à la fin... Autre solution, que la protection de la feuille soit faite par vba en utilisant l'argument "userinterfaceonly" de la méthode "protect" (F1 dans l'éditeur vba sur ce mot te donnera d'autres infos)...

bon après midi
@+
 
Re : Supprimer une ligne dans feuille protégée

Bonjour et merci pour ta reponse Pierrot93,

concernant le fait de protégern et déproteger ma feuille, c'est ce que je fait dans ma macro avec ActiveSheet.Unprotect et ActiveSheet.Protect
car en fait je veux que ma feuille se dévérouile seulement quand une ligne entière est selectionner. Autrement je veux qu'elle reste vérouillé.

Je n'ai pas trouvé "userinterfaceonly" dans l'aide vba.

@+
 
Re : Supprimer une ligne dans feuille protégée

J'ai le début d'un autre bout de code:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim Plage As Range

Set Plage = Intersect(Target, Range("1:500"))

If Plage Is Nothing Then Exit Sub

For Each Target In Plage

If Plage.Rows.Select = True Then
ActiveSheet.Unprotect
Plage.Rows.Select
Selection.Locked = False
Selection.FormulaHidden = False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowDeletingRows:=True
End If

Next

End Sub

Le probleme et que du coup il me déverouille toute la plage alors que je souhaitrais qu'il ne me dévérouille que la ligne selectionner pour que je puisse la supprimer.
 
Re : Supprimer une ligne dans feuille protégée

Re,

extrait de l'aide vba, sur l'argument "UserInterfaceOnly" de la méthode "protect" :

exemple de code à placer dans le module "thisworkbook", se déclenche à l'ouverture du classeur :
Code:
Option Explicit
Private Sub Workbook_Open()
Feuil1.Protect "toto", userinterfaceonly:=True
End Sub
 
- 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
9
Affichages
508
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…