Bonjour à tous
En lisant ce fil, je me pose une question sur ce que tu veux faire exactement, Jenny.
en particulier, sur quoi cliques-tu exactement?
D'après ta procédure, tu cliques sur ton image. Mais pour cela, il faut que tu la vois! Si elle n'est pas visible, comment peux-tu cliquer dessus?
Donc, pour moi, la condition
If ActiveSheet.Shapes("image 1").Visible = False
n'est jamais remplie lorsque tu cliques sur l'image!
Donc, pour la faire réaparaître, il faut cliquer ailleurs, sur un autre bouton par exemple. D'ailleurs, tu parles de bouton dans ton dernier message.
Par ailleurs, il existe 3 types d'images dans Excel:
- les images de la barre d'outils "dessin", ou celle que tu as insérées via le menu Insertion. Ce sont ces images que l'on appelle en VBA par les objets Shapes.
- les contrôles images, disponibles dans la barre d'outil formulaire
- les contrôles images, disponibles dans la barre d'outil visual basic via la boîte à outil.
Et c'est pareil pour le bouton, tu as les 3 types.
Dans les 2 premiers cas, il faut affecter une procédure au contrôle où à l'objet dessin. Cette procédure s'effectuera lorsqu'on cliquera sur l'objet en question.
Dans le 3ème cas, c'est beaucoup plus puissant, car tu as possibilité de jouer sur moulte procédures événementielles, dont celle qui se déclenche lorsqu'on clique dessus. Cette procédure est déjà liée au contrôle.
Enfin, pour compliquer le tout, tu as la possibilité avec les boutons (de la dernière catégorie) d'y insérer une image (plus du texte éventuellement)
Et je me dis que c'est peut-être ça que tu cherches à faire finalement: un bouton qui, lorsqu'on clique dessus, fait apparaitre (sur lui-même) une image si elle n'existait pas, ou au contraire la fait disparaître si elle était déjà présente.
Le mieux serait que tu envoies une pièce jointe zippée.
Bon courage, @ plus.