masquer/afficher plusieurs images!

demax

XLDnaute Occasionnel
bonsoir
j'ai des images (les même)dans plusieurs feuilles
et je voudrais les masquer ou les afficher le souci C que les feuilles peuvent etre renommer donc le chemin peux changer
Shapes("Image 37").Visible = False
Shapes("Image 38").Visible = False
Shapes("Image 39").Visible = False
Shapes("Image 40").Visible = False
???.Shapes("Image 41").Visible = False:confused:
pouvez vous m'aider?merci:)
 

pierrejean

XLDnaute Barbatruc
Re : masquer/afficher plusieurs images!

bonjour demax

Tu peux utiliser le codename de tes feuilles
Exemple: a la creation d'un fichier

Code:
Feuil1[COLOR=blue].Name[/COLOR]

est equivalent a

Code:
Sheets("Feuil1")[COLOR=blue].Name[/COLOR]

Par la suite, si la feuille est renommée, Feuil1 designera toujours la même feuille
 

vbacrumble

XLDnaute Accro
Re : masquer/afficher plusieurs images!

Re, bonsoir pierrejean



demax: tu m'as énervé (tu as réveillé ma sciatique) :mad:

Code:
Sub husp()
'toggle: 1,h -> 2,uh
Dim s As Worksheet
Dim sp As Shape
For Each s In Worksheets
For Each sp In s.Shapes
sp.Visible = Not sp.Visible
Next
Next
End Sub

edition: bonsoir JCGL
 

JCGL

XLDnaute Barbatruc
Re : masquer/afficher plusieurs images!

Bonjour à tous,
Salut PJ :),

En complément de ce qu'écrit PJ :
Code:
    ActiveSheet.DrawingObjects.Visible = False
pour sélectionner tous les objets de la page
Ensuite passer à la feuille suivante

A++
A+ à tous
 

vbacrumble

XLDnaute Accro
Re : masquer/afficher plusieurs images!

Re à tous


Donc demax, suite à la remarque de pierrejean

tu auras adapter ce code pour la feuille active ?

ici ne masque/démasque que les images (type 13)

Code:
Sub husp2()
'toggle: 1,h -> 2,uh
Dim s As Worksheet
Dim sp As Shape
For Each s In Worksheets
For Each sp In s.Shapes
If sp.Type = 13 Then
sp.Visible = Not sp.Visible
End If
Next
Next
End Sub

JCGL: Exact, mais il m'est arrivé suite à je ne sais plus quel code
que les fléches des filtres soient effacées.
 
Dernière édition:

demax

XLDnaute Occasionnel
Re : masquer/afficher plusieurs images!

re
donc ne croyez pas que j'attends d'avoir le code sur un plateau je cherche sur google en parrallele
for each pourrez convenir à ma situation mais comprends pas:
ThisWorkbook
Worksheets avec s sans s:confused:
Feuille ...
donc j'ai 4 feuilles qui contient 10 images identiques chacune que je masque/affiche avec une macro
Shapes("Image 37").Visible = False
Shapes("Image 38").Visible = False
Shapes("Image 39").Visible = False
merci à tous :)
 

vbacrumble

XLDnaute Accro
Re : masquer/afficher plusieurs images!

re

demax: je t'ai commenté le code
Code:
Sub husp2()
[COLOR="Green"]'toggle: 1,h -> 2,uh[/COLOR]
[COLOR="Green"]'déclarations[/COLOR]
Dim s As Worksheet
Dim sp As Shape
[COLOR="Green"]'parcours de toutes les feuilles en excluant les graphiques
'de ce classeur[/COLOR]
For Each s In ThisWorkBook.Worksheets
For Each sp In s.Shapes [COLOR="Green"]' dans tous les formes[/COLOR]
If sp.Type = 13 Then [COLOR="Green"]'si ce sont des images[/COLOR]
sp.Visible = Not sp.Visible [COLOR="Green"]' alors masque/démasque[/COLOR]
End If
Next
Next
End Sub

Des questions ?
 

vbacrumble

XLDnaute Accro
Re : masquer/afficher plusieurs images!

Re

demax:
La macro que je proposais permet lors de sa 1ère exécution
de masquer les images (et uniquement les images)

lors de sa seconde exécution: les images seront démasquées.

Donc associée à un bouton sur une barre d'outils, la macro permet de :
(en l'état tout le classeur est pris en compte)

1 clic -> masque
2 clic -> démasque

et ce, quels que soient le noms des images.

Pour ne considérer que la feuille active
Code:
sub macroimagesfeuilleactive()
Dim s as worksheet
Dim sp as Shape
set s=ActiveSheet
For Each sp In s.Shapes ' dans tous les formes
If sp.Type = 13 Then 'si ce sont des images
sp.Visible = Not sp.Visible ' alors masque/démasque
End If
Next
end sub
 
Dernière édition:

Discussions similaires

Réponses
1
Affichages
349
Compte Supprimé 979
C

Membres actuellement en ligne

Statistiques des forums

Discussions
312 922
Messages
2 093 644
Membres
105 775
dernier inscrit
assen