Révision : autoriser la sélection de certains objets, mais pas tous

Bonjour à tous,

Je me penche vers le forum car je bute sur un problème de protection de fichier.

Voilà, j'ai réalisé une carte sur un fichier excel. L'utilisateur qui utilise mon fichier est autorisé à déplacer des petits carrés jaunes sur la carte (ce sont des formes construites par une macro, qui affichent la valeur de cellules par liaison). La carte en arrière plan est une simple image. Aussi, sur la feuille, il y a plusieurs boutons qui déclenchent d'autres macro. Lorsque je protège ma feuille, je n'autorise que la sélection d'objet, qui permet à l'utilisateur de déplacer les fameux carrés jaunes.

Seulement voilà, si j'autorise la sélection d'objet, l'utilisateur peut également déplacer/modifier/redimensionner/supprimer la carte elle-même !! Alors qu'elle ne doit surtout pas bouger... Pas pratique. C'est le même soucis pour les boutons, qui ne doivent surtout pas être déplacés.

Comment configurer une protection de feuille qui autorise la sélection de certains objets (carrés jaunes), mais qui interdit d'en sélectionner d'autres (ma carte en JPEG, ou mes boutons) ? Je ne pense pas qu'excel le permette de base, d'où mon poste en section "VBA".

Merci d'avance !

Bonjour -Genemesis-),

Il faut regarder la propriété de tes objets (formes). Afin de vérifier si ils sont verrouillés pour la protection ou pas.

C'est comme pour les cellules. Si le verrouillage de l'objet est coché alors il ne sera pas accessible, à contrario si il est décoché la forme sera accessible même si la feuille est protégée.

Alors en fait voilà la situation :

Le fichier est tout le temps protégé, sur deux modes différents. La feuille ne se retrouve jamais sans protection.

Grace à un bouton, l'utilisateur peut passer d'un mode à l'autre.

Mode spectateur : tout est verrouillé.

Mode utilisateur : seul les objets sont sélectionnables et modifiables. C'est dans ce mode que je veux pouvoir définir quels objets sont sélectionnables et lesquels ne le sont pas.

A nouveau,

C'est dans ce mode que je veux pouvoir définir quels objets sont sélectionnables et lesquels ne le sont pas.

Dans ce mode (utilisateur), il suffit de décocher seulement les objets qui peuvent être déplacés. Les autres étant toujours vérouillés

Exemple: Cinq formes jaunes se nomment RectYellow1 à RectYellow5.

Donc par une boucle For B = 1 to 5

For B = 1 to 5
ActiveSheet.Shapes("RectYellow" & B).Locked = False
Next B

Et faire à contrario dans le mode Spectateur

For B = 1 to 5
ActiveSheet.Shapes("RectYellow" & B).Locked = True
Next B

Suite,

Si les formes jaunes ne portent pas le même nom. Plusieurs solutions sont possibles.

1) Faire un tableau de noms de ces dernières afin de les cibler par une boucle.

2) Si leur type est uniquement rectangle et qu'aucune autre sur la feuille n'est rectangle. Cibler leur type.

3) Les cibler uniquement par la couleur, vu qu'elles sont les seules à être jaunes.

Rechercher des sujets similaires à "revision autoriser selection certains objets pas tous"