Macro - sélection plusieurs images - à cacher

Résolu
Bruno_65 Messages postés 50 Date d'inscription jeudi 10 avril 2014 Statut Membre Dernière intervention 27 juillet 2021 - 19 nov. 2014 à 14:26
Bruno_65 Messages postés 50 Date d'inscription jeudi 10 avril 2014 Statut Membre Dernière intervention 27 juillet 2021 - 19 nov. 2014 à 16:02
Bonjour,

Je voudrai faire une macro pour :
- sélectionner une série d'images (une trentaine) : "image 1", "image 2", "image 3"...
- et les cacher toutes en même temps.

J'ai essayé de faire de faire ce test limité à quelques images :
ActiveSheet.Shapes("Image 1", "Image 2", "Image 3", "Image 4").Visible = False
Mais cela ne marche pas... Je ne suis pas encore très doué avec VBA...

Alors comment faire ? ... Merci de m'aider.

Cordialement, Bruno

3 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 236
19 nov. 2014 à 14:45
Bonjour,
mets les images dont il s'agit dans un array, puis agit, en boucle sur cette array, sur la propriété visible de chacune d'elles !
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 236
19 nov. 2014 à 14:52
Ou/et si elles ont vraiment et exactement ces noms-là ("Image 1", "Image 2", "Image 3" et "Image 4") rien ne t'empêche de faire une boucle for i = 1 to 4 dans laquelle tu les rends invisible tour à tout ( ActiveSheet.Shapes("Image " & i).Visible = False )
(mais tout cela est vraiment évident)
0
Bruno_65 Messages postés 50 Date d'inscription jeudi 10 avril 2014 Statut Membre Dernière intervention 27 juillet 2021
19 nov. 2014 à 16:02
MERCIccciiiiiiiiii beacoup !!!!!!

Faire un"boucle" ou utliser un "array" est signe de bonté en VBA... et je suis suffisamment mauvais en VBA pour ne pas trouver tout cela très évident...
Cependant, J'ai réussi à comprendre, puis à faire la bonne macro (que j'ai appelée Cache-cahe) :

Sub Cache_Cache()
For i = 1 To 4
Nom = "Image & i"
ActiveSheet.Shapes("Image " & i).Visible = False
Next i
End Sub

et cela marche très bien !! donc je suis heu-reux !

Merci beaucoup ucfoutu , bonne journée !
Cordialement, Bruno
0