Macro Excel
Résolu
syl-vie1
Messages postés
3
Statut
Membre
-
syl-vie1 Messages postés 3 Statut Membre -
syl-vie1 Messages postés 3 Statut Membre -
Bonjour,
Je dois créer un formulaire que beaucoup de gens utiliseront dans Excel. Au bout de chaque ligne
je vais créer un bouton pour qu'ils puissent réserver. Mon problème est que je ne voudrais pas que d'autres utilisateurs viennent modifier ce que un utilisateur aura inscrit. Je voudrais donc que lorsque l'utilisateur cliquera sur le bouton "réserver" les cellules qu'il aura complétées se verrouilleront. Est-ce possible? Si oui, les étapes à suivre seraient grandement appréciées.
Merci,
Je dois créer un formulaire que beaucoup de gens utiliseront dans Excel. Au bout de chaque ligne
je vais créer un bouton pour qu'ils puissent réserver. Mon problème est que je ne voudrais pas que d'autres utilisateurs viennent modifier ce que un utilisateur aura inscrit. Je voudrais donc que lorsque l'utilisateur cliquera sur le bouton "réserver" les cellules qu'il aura complétées se verrouilleront. Est-ce possible? Si oui, les étapes à suivre seraient grandement appréciées.
Merci,
4 réponses
-
Vous faites un pointeur. Lorsque'une case est réservée la première fois le pointeur (une cellule sur une autre feuille ou fichier) passe à 1.
Ensuite à chaque fois que quelqu'un tape ou essaye de modifier si le pointeur est à 1 la case revient avec déjà réservé ou autre alerte.
La feuille des cellules pointeuses sont verrouillées.
Vous pouvez inventer des pointeurs pour n'importe quoi.
A+ -
Je suis pas très connaissante dans ce domaine. Comment fait-on un pointeur?
-
Bonjour,
Il faut protéger ta feuille.
Au départ toutes les cellules sont verrouillées, il faut déverrouiller celles qui recevront les données (clic-droit sur ta sélection puis format de cellule).
Pour verrouiller une sélection en vba c'est par exemple :
[B3].locked=true
ou worksheets("Feuil3").[B3:F3].locked=true
Lors de la validation tu testes avec :
if [B3].locked=true then
'traitement cellule verrouillée
else
'traitement cellule libre
endif
eric-
Salut eriiic, syl vie,
En plus de la protection de la feuille, je te suggère également de la rendre "invisible".
Pour cela :Sheets("Feuil3").Visible = xlVeryHiddenpermet de vraiment masquer ta feuille car elle n'apparait même pas dans le menu Format/Feuille/Afficher...
Pour masquer simplement une feuille :Sheets("Feuil3").Visible = FalsePar contre, après pour l'utiliser par macro il te faudra procéder par "With" :With Sheets("Feuil3") .B3:F3].locked=true End Withpour reprendre l'exemple d'eriiic. -
-
-
-
Merci à tous, j'ai finalement trouvé mon erreur... Plutôt que d'écrire Locked dans mon code, j'avais écrit Lock...