Insérer une ligne avec protection de feuilles

Bonjour,

Je souhaite pouvoir insérer une ligne dans mon tableau excel en gardant les formules et en protégeant la feuille.

Pour cela, j'ai fait une macro où en appuyant sur Ctrl+q, cela me copie la ligne de mon tableau bien que cette dernière soit verrouillée.

Je garde ainsi les formules mises dans les cellules. (J'ai aussi coché la case "Insérer lignes" au moment de la protection de la feuille).

Voici la macro :

Sub InsèreCopieLigne()

ActiveCell.EntireRow.Insert

Rows(ActiveCell.Row + 1).Copy Rows(ActiveCell.Row)

On Error Resume Next

Rows(ActiveCell.Row).SpecialCells(xlCellTypeConstants, 1).ClearContents

End Sub

Le problème est qu'à chaque fois que j'insère une nouvelle ligne, le débogueur s'ouvre.

Comment faire pour que cela continue de fonctionner sans que le débogueur ne s'ouvre. Est-ce qu'il y a quelque chose à cocher ou une ligne à rajouter?

Par la même occasion, auriez-vous une macro qui permettrait de supprimer une ligne aussi? Je n'arrive pas à le faire avec la protection du fichier malgré avoir cocher "autoriser supprimer lignes".

Merci beaucoup.

Bonjour,

Si ta feuille est protégée, il faut la déprotéger, exécuter le code et la re-protéger

Sub InsèreCopieLigne()

ActiveSheet.unprotect mdpasse

ActiveCell.EntireRow.Insert

Rows(ActiveCell.Row + 1).Copy Rows(ActiveCell.Row)

On Error Resume Next

Rows(ActiveCell.Row).SpecialCells(xlCellTypeConstants, 1).ClearContents

ActiveSheet.protect mdpasse

End Sub

Si j'ai bien compris...

Bonjour,

Si tes données sont sous forme de tableau (structuré), tu as un souci.

On ne peut pas insérer de lignes si la feuille est protégée.

Dans l'affirmative, joins un fichier à ta demande.

Cdlt.

Super!!!

Merci beaucoup. Ca fonctionne bien!

Juste une question. Comment est ce que je peux faire la même chose mais pour supprimer une ligne?

Et pour le moment, je ne mets pas de mot de passe pour vérifier le fonctionnement.

Si jamais j'en mets, je dois le mettre entre "" dans la macro ou non?

Désolée, je suis vraiment nulle avec VBA...

Merci d'avance.

PS : je ne l'ai pas mis sous forme de tableau dans Excel.

Bonjour,

Sub InsèreCopieLigne()
ActiveSheet.Unprotect Password:="ton mot de passe"
ActiveCell.EntireRow.Insert
Rows(ActiveCell.Row + 1).Copy Rows(ActiveCell.Row)
On Error Resume Next
Rows(ActiveCell.Row).SpecialCells(xlCellTypeConstants, 1).ClearContents
ActiveSheet.protect Password:="ton mot de passe"
End Sub

Oui mot de passe entre guillemets

Et oui pour la macro supprimer même principe : unprotect en début et protect en fin de macro

Tu peux faire tout ce que tu veux dès lors que tu dé-protèges avant, oui.

Non, sans les "" pour le mot de passe

Oups, oui exact, la syntaxe n'était pas la bonne :s

j'utilise Public Const mdpasse = "motdepasse" qui m'évite de saisir tout à chaque fois...

Oups, oui exact, la syntaxe n'était pas la bonne :s

Le début de la syntaxe m'a rappelé le reste Oliv34

Rechercher des sujets similaires à "inserer ligne protection feuilles"