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

Microsoft 365 VBA Insertion ligne dans feuille protégée

Nathan027

XLDnaute Junior
Bonjour à toutes et à tous

J'ai créer une fichier dans lequel j'ai un bouton "insertion ligne" .. Tout fonctionne.
Le soucis est que j'aimerai autoriser la modification de certaine plage uniquement par certaine personne, et pour cela la feuille doit être protégée.
C'est là qu'arrive mon problème, si je protège la feuille, je ne peux plus insérer de ligne.
HELP ME ..

je vous joint le fichier (il n'y a pas de mot de passe)

J'espère que vous pourrez m'aider et je vous en remercie d'avance
 

Pièces jointes

  • Suivi d'action.xlsm
    39.3 KB · Affichages: 5
Solution
Salut,
Il faut mettre l'option userinterfaceonly:=True à la protection de la feuille,
mais j'abonde dans la déclaration de @Phil69970 :
Ne pas oublier que la protection de feuille avec MDP est très illusoire sur excel !!!!

VB:
Sub Bouton1_Cliquer()
Dim CurrentSheet As Object
    For Each CurrentSheet In ActiveWindow.SelectedSheets
        CurrentSheet.Protect userinterfaceonly:=True
        CurrentSheet.Range("B7:V7").EntireRow.Insert
        CurrentSheet.Range("D7") = Date
    Next CurrentSheet
End Sub

Phil69970

XLDnaute Barbatruc
Bonjour @Nathan027

Remarques :
1)
J'ai créer une fichier dans lequel j'ai un bouton "insertion ligne" .. Tout fonctionne.
Il n’y a pas de bouton insertion ligne mais 3 boutons
==> 1 bouton "Ajouter une action" sur la feuille "Plan d'action"
==> 2 boutons "Ajout Zone" et "Ajout Nom" sur la feuille "Feuille de données

Par contre il y a bien 2 macros qui se nomment "InsertLigne" et "InsertLigne2"
2)
J'ai créer une fichier dans lequel j'ai un bouton "insertion ligne" .. Tout fonctionne.
Non cela fonctionne mal voir très mal et source de pleins de PB à venir...
Quand tu as des tableaux structurés il faut écrire le code pour les tableaux structurés

==> Voir le fichier rectifié sur ce point

3) Sur la feuille "Plan d'action" j'ai pas trop compris ce que tu cherches à faire donc je n'ai pas pas modifié le code mais même pb que le point 2)

4)
j'aimerai autoriser la modification de certaine plage uniquement par certaine personne, et pour cela la feuille doit être protégée.
Quelle partie de la feuille, il manque plein de précision ? (qui ,quoi, ou, quand etc.....)
Ne pas oublier que la protection de feuille avec MDP est très illusoire sur excel !!!!
 

Pièces jointes

  • Suivi d'action TS V1.xlsm
    36.2 KB · Affichages: 3

fanch55

XLDnaute Barbatruc
Salut,
Il faut mettre l'option userinterfaceonly:=True à la protection de la feuille,
mais j'abonde dans la déclaration de @Phil69970 :
Ne pas oublier que la protection de feuille avec MDP est très illusoire sur excel !!!!

VB:
Sub Bouton1_Cliquer()
Dim CurrentSheet As Object
    For Each CurrentSheet In ActiveWindow.SelectedSheets
        CurrentSheet.Protect userinterfaceonly:=True
        CurrentSheet.Range("B7:V7").EntireRow.Insert
        CurrentSheet.Range("D7") = Date
    Next CurrentSheet
End Sub
 

fanch55

XLDnaute Barbatruc
Bonjour François
Un bémol à UserInterfaceOnly car sur un TS lors de l'ajout de ligne du TS cela ne fonctionne pas
Salut Phil, il doit y avoir eu lieu à une correction depuis 2016
car cela semble fonctionner correctement sur les TS du classeur fourni ...
mais c'est vrai que perso, j'utilise ( quand pas le choix ) d'abord le unprotect avant de continuer une macro puis le protect pour la sortie
 

Nathan027

XLDnaute Junior
Merci à vous deux pour votre aide précieuse. Cela fonctionne parfaitement.

Pour le commentaire sur la protection de feuille, je c pense que vous avez tout a fait raison mais pour mon utilisation c'est largement suffisant

Encore une fois merci.
 

Nathan027

XLDnaute Junior
Re bonjour à vous.

Je vous resollicite … hier je vous disais que tout fonctionnait parfaitement, ce qui était vrai, à un détail prêt
Quand je protège la feuille (sans indiquer de mot de passe) .. Nickel
Quand je protège la feuille (avec un mot de passe) .. Cela ne fonctionne pas
Et honnêtement je ne comprend ce que ca change qu'il y ait un mot de passe ou passe … tant que la feuille est "protégée"

HELP ME PLEASE
 

fanch55

XLDnaute Barbatruc
Salut,
Quand la feuille est protégée, avec ou sans mot de passe :
  1. on peut toujours insérer une ligne dans un TS
  2. on ne peut pas supprimer une ligne du TS
  3. on ne peut modifier une cellule que si elle n'est pas verrouillée .
C'est paradoxal, mais cela rejoint ce que faisait remarquer @Phil69970 , finalement, rien n'a changé depuis 2016.

Protéger une feuille est non seulement illusoire mais apporte plus de tracas/travail/codage à effectuer .
UserInterfaceOnly indique que tout peut être effectué via codage mais pas sur ce qui est présenté à l'utilisateur .
 

Discussions similaires

Réponses
32
Affichages
851
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…