Macro dans une feuille protégée
Fanny
-
fanny -
fanny -
Bonjour,
Je souhaiterais savoir si il y a une macro qui permet d'autoriser la suppression 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.
je veux que ma feuille se dévérouile seulement quand une ligne entière est selectionner. Autrement je veux qu'elle reste verrouiller et je souhaiterais que pouvoir activer cette macro seulement dans le cas ou la ligne entière est selectionné, dans la plage donnée
Merci
Je souhaiterais savoir si il y a une macro qui permet d'autoriser la suppression 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.
je veux que ma feuille se dévérouile seulement quand une ligne entière est selectionner. Autrement je veux qu'elle reste verrouiller et je souhaiterais que pouvoir activer cette macro seulement dans le cas ou la ligne entière est selectionné, dans la plage donnée
Merci
A voir également:
- Macro dans une feuille protégée
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Bruler feuille de laurier - Guide
- Comment imprimer en a5 sur une feuille a4 - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Comment supprimer une feuille sur word - Guide
6 réponses
Bonjour,
Essaie :
Cordialement.
Daniel
Essaie :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count = Columns.Count And Target.Rows.Count = 1 Then
ActiveSheet.Unprotect
End If
End Sub
Cordialement.
Daniel
Bonjour Daniel,
Ca ne fonctionne pas, lorsque je sélectionne la ligne à supprimer j'ai un message me demandant d'ôter la protection de la feuille alors que je veux que celle-ci reste protégée
Cordialement
Ca ne fonctionne pas, lorsque je sélectionne la ligne à supprimer j'ai un message me demandant d'ôter la protection de la feuille alors que je veux que celle-ci reste protégée
Cordialement
Ca fonctionne néamoins une fois la suppression de la ligne sélectionnée faite l"ensemble des cellules restent dévérouillées et la feuille n'est plus protégée alors que je voudrais que la feuille entière reste protégée
Cordialement
Cordialement
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour à tous,
il suffit de compléter le code :
J'ai ajouté également une demande de confirmation.
Si tu veux sans mot de passe supprimer Password:="123"
eric
il suffit de compléter le code :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count = Columns.Count And Target.Rows.Count = 1 Then
If MsgBox("Supprimer la ligne ?", vbYesNo + vbQuestion) = vbYes Then
ActiveSheet.Unprotect Password:="123"
Target.EntireRow.Delete
ActiveSheet.Protect Password:="123"
End If
End If
End Sub
J'ai ajouté également une demande de confirmation.
Si tu veux sans mot de passe supprimer Password:="123"
eric
Re,
eric
Edit : ou avec une seule boite de dialogue :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count = Columns.Count And Target.Rows.Count = 1 Then
ActiveSheet.Unprotect Password:="123"
If MsgBox("Voulez-vous supprimer la ligne ?", vbYesNo + vbQuestion) = vbYes Then
Target.EntireRow.Delete
ElseIf MsgBox("Voulez-vous insérer une ligne ?", vbYesNo + vbQuestion) = vbYes Then
Target.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End If
ActiveSheet.Protect Password:="123"
End If
End Sub
eric
Edit : ou avec une seule boite de dialogue :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim msg As String
If Target.Count = Columns.Count And Target.Rows.Count = 1 Then
ActiveSheet.Unprotect Password:="123"
msg = "Voulez-vous :" & vbLf & vbLf
msg = msg & "- insérer une ligne (Oui)," & vbLf
msg = msg & "- supprimer la ligne (Non)," & vbLf
msg = msg & "- annuler"
Select Case MsgBox(msg, vbYesNoCancel + vbQuestion)
Case vbYes
Target.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Case vbNo
Target.EntireRow.Delete
End Select
ActiveSheet.Protect Password:="123"
End If
End Sub