Deverouiller une cellule en VBA
Résolu
CharlemagneKid
Messages postés
19
Date d'inscription
Statut
Membre
Dernière intervention
-
CharlemagneKid Messages postés 19 Date d'inscription Statut Membre Dernière intervention -
CharlemagneKid Messages postés 19 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous les commentcamarcheur,
Après bien des consultations de forums et bien des essais, j'ai un problème qui reste insoluble pour mon tout petit niveau
Alors voila l'histoire:
Je souhaite modifier certaines cellules de ma feuille excel à un moment donner, et les avoir verouiller le reste du temps. Ces cellules peuvent changer donc je n'ai pas leur coordonnées (ce qui explique que je ne peux pas le faire par le menu excel).
Je souhaitais faire ca par VBA de la manière suivante:
1- j'ôte la protection de feuille
2- je déverouille les cellules qui m'interessent
3- je fais ce que j'ai a y faire
4- je reverouille ces cellules
5- je remet la protection de feuille
Bon, pour le 1 et 5, c'est bon:
1- Worksheets("MaFeuille").Unprotect Password:="toto"
5- Worksheets("MaFeuille").Protect Password:="toto"
C'est pour le 2 que je seche. J'avais imaginer un truc du genre:
2- Worksheets("MaFeuille").Cell(X, Y).Locked = True
Mais ca, mon copain VBA n'en veut pas.
Auriez vous un truc a me proposer s'il vous plait, parce que la, je suis un peu coincé.
Merci par avance.
Après bien des consultations de forums et bien des essais, j'ai un problème qui reste insoluble pour mon tout petit niveau
Alors voila l'histoire:
Je souhaite modifier certaines cellules de ma feuille excel à un moment donner, et les avoir verouiller le reste du temps. Ces cellules peuvent changer donc je n'ai pas leur coordonnées (ce qui explique que je ne peux pas le faire par le menu excel).
Je souhaitais faire ca par VBA de la manière suivante:
1- j'ôte la protection de feuille
2- je déverouille les cellules qui m'interessent
3- je fais ce que j'ai a y faire
4- je reverouille ces cellules
5- je remet la protection de feuille
Bon, pour le 1 et 5, c'est bon:
1- Worksheets("MaFeuille").Unprotect Password:="toto"
5- Worksheets("MaFeuille").Protect Password:="toto"
C'est pour le 2 que je seche. J'avais imaginer un truc du genre:
2- Worksheets("MaFeuille").Cell(X, Y).Locked = True
Mais ca, mon copain VBA n'en veut pas.
Auriez vous un truc a me proposer s'il vous plait, parce que la, je suis un peu coincé.
Merci par avance.
A voir également:
- Deverouiller une cellule en VBA
- Comment deverouiller - Guide
- Excel compter cellule couleur sans vba - Guide
- Excel cellule couleur si condition texte - Guide
- Aller à la ligne dans une cellule excel - Guide
- Proteger cellule excel - Guide
5 réponses
Bonjour,
Une cellule verouillée est uniquement bloquée quand la feuille est protégée, dans ton cas après le "Worksheets("MaFeuille").Unprotect Password:="toto"", tu peux modifier la valeur......Le verrouillage des cellules permet de à un utilisateur de modifier uniquement certaines cellules (les "non-verrouillées") quand la feuille est protégée...
Une cellule verouillée est uniquement bloquée quand la feuille est protégée, dans ton cas après le "Worksheets("MaFeuille").Unprotect Password:="toto"", tu peux modifier la valeur......Le verrouillage des cellules permet de à un utilisateur de modifier uniquement certaines cellules (les "non-verrouillées") quand la feuille est protégée...
Ok compris....
Bah en fait il te manque juste un "s" :
Worksheets("MaFeuille").Cells(X, Y).Locked = True
;)
Bah en fait il te manque juste un "s" :
Worksheets("MaFeuille").Cells(X, Y).Locked = True
;)
Salut tompols,
c'est bien là la feinte.
En fait, je ne veux pas que l'utilisateur puisse modifier toutes les cellules.
Pour la petite histoire, c'est un fichier de congé que je fais. J'ai créer une usine a gaz qui permet de se loguer par mot de passe. Du coup, je sais si c'est Pierre, Paul ou Jacques qui utilise le fichier.
Si c'est Pierre, je deverouille ses cellules pour lui permettre les modif. Mais je ne veux pas qu'il modifie celle de Paul, il doit juste pouvoir les voir.
Donc voila, je veux pouvoir deverouiller dynamiquement en fonction de la personne logué.
Merci pour ton aide...
c'est bien là la feinte.
En fait, je ne veux pas que l'utilisateur puisse modifier toutes les cellules.
Pour la petite histoire, c'est un fichier de congé que je fais. J'ai créer une usine a gaz qui permet de se loguer par mot de passe. Du coup, je sais si c'est Pierre, Paul ou Jacques qui utilise le fichier.
Si c'est Pierre, je deverouille ses cellules pour lui permettre les modif. Mais je ne veux pas qu'il modifie celle de Paul, il doit juste pouvoir les voir.
Donc voila, je veux pouvoir deverouiller dynamiquement en fonction de la personne logué.
Merci pour ton aide...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question