Comment permettre l'utilisation d'1 macro tt en gardant la protection?

B

bastOOn

Guest
Salut tout le monde,

Je suis en train de faire un document excel type qui sera utilisé par la suite par des collegues pour entrer des données ligne par ligne.

Seulement toutes les colonnes ne sont pas a remplir par eux. Certaines contiennent des formules et doivent ABSOLUMENT etre verrouillées tout en etant lisible par mes collegues.

Comme certain vont avoir a remplir 10 lignes ds le mois et d'autres 1500, j'ai créé une petite macro qui ajoute une ligne à remplir avec:
- des cases vides deverrouillées là ou mes collegues doivent mettre qqchose
- les formules et le statut "verrouillé" sur les cellules ou ils ne doivent que pouvoir lire le resultat (c'est tres important)

Le probleme c'est que je viens de me rendre compte que quand je verrouille la feuille avec un mot de passe, on n'a plus le droit d'utiliser ma macro.

Voilà. J'espère qu'une ame charitable saura me sortir de ce guepier. Je suis assez novice en tableur vous l'aurez compris.


Mille merci par avance et bon we a tous.
salut!
 
A

Arnaud

Guest
Salut :),
je ne pense pas que de vérouiller la feuille empèche ta macro de marcher.
C'est vrai que si tu modifier des cellules verouillés cela risque de ne pas fonctionner mais ça c'est autre chose ^-^
C'est a toi de déverrouiller ton classeur avant de faire les traitements et de reverouiller ton classeur une fois finit ( utilise la méthode Protect et Unprotect en passant le mot de passe et les bons parramètres selon le type de protection que tu veux )
 
D

DIDOULYON

Guest
Bonjour,

Effectivement:
une macro reste toujours active même si ton classeur est verrouillé, mais, à la seule condition que cette macro n'induise pas de modifications de structure dans ta feuille; modification du type "insertion de ligne ou de colonne", ce qui est le cas pour toi.

Le seule moyen est d'intégrer dans ta macro, la déprotection puis le re-protection de ta feuille. Je ne sais pas si c'est possible.

Bonne journée
 
V

VASSAS

Guest
Bonjour,

Celà peut-il vous aider ?

Mettre la protection :
motpass = InputBox("Indiquer le mot de passe : ")
Sheets("MaFeuille").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, password:=motpass

Oter la protection :
password = InputBox("Indiquer le mot de passe : ")
Sheets("MaFeuille").Select

Bonne journée
 
W

wooshi

Guest
En effet si tu modifie la feuille la protection va te bloquer.
Met une protection sans mot de passe de la feuille et déprotègle la au début de la macro puis remet la protection a la fin de macro, ou aux bornes de ton événement qui bloque. C'est peut etre basique mais c'est la seule solution en partant du principe que l'utilisateur lambda n'ira pas trifouiller dans ta macro pour la modifier.

Moi c'est comme ca que je procède ca évite les modifications de feuilles intempestives et personne na va fouiller dans les macros.

Cdt,
 
B

bastOOn

Guest
Merci!

En effet. J'ai testé avec une macro qui n'insere pas de ligne ou ne touche pas a une cellule verrouillée et ca marche..

Du coup quelqu'un connait il une commande VB qui deverrouille la feuille et sa copine qui reverrouille le tout apres execution de ma macro nouvelle ligne?

Merci encore chers amis..
 

Statistiques des forums

Discussions
312 392
Messages
2 088 004
Membres
103 695
dernier inscrit
acimi