Protection plage de données VBA

Bonjour et meilleurs vœux,

J'ai un tableur qui comporte une macro pour incrémenter des ligne en partie supérieure pour une meilleurs efficacité (voit pièce jointe).

Je voudrai verrouiller certaines cellules ou colonnes mais après avoir essayé X solutions j'ai toujours une erreur d'exécution (insertion de la ligne) quand je clic sur la macro nouvelle entrée une fois que le tableur est verrouillé.

Quelqu'un saurait-il comment procéder ?

D'avance merci.

8exemple-1.zip (12.79 Ko)

Bonjour Nickal

Essaie peut-être cela :

Sub entree()
' Nouvelle_entrée Macro

    Sheets(1).Unprotect
    Rows("5:5").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrBelow
    Range("A5") = Range("A6") + 1
    If Len(Range("A5")) = 1 Then Range("A5") = "'000" & Range("A5")
    If Len(Range("A5")) = 2 Then Range("A5") = "'00" & Range("A5")
    If Len(Range("A5")) = 3 Then Range("A5") = "'0" & Range("A5")
    Range("A5").Select
    Sheets(1).Protect
End Sub

Unprotect et protect

A +

Bonsoir,

Merci pour la réponse, effectivement cela fonctionne bien mais à condition que le verrouillage ne soit pas fait avec un mot de passe.

Si je mets ce fichier en partage avec un mot de passe connu par moi seul, y'a t-il moyen de verrouiller la macro (ça je sais faire) et d'inclure dedans un déverrouillage / verrouillage automatique avec mot de passe quand on lance ma macro d'insertion de ligne ?

Bonne soirée.

Bonjour,

Clique sur Protect (ou sur UnProtect) et appuies sur F1

PS : Pour moi, un mot de passe ne sert qu'à être oublié.

Rechercher des sujets similaires à "protection plage donnees vba"