Rendre invisible un groupe de trait

andsim34

XLDnaute Nouveau
Bonjour à tous

Voila ma question:

J'ai plusieurs trait et rond(fait a partir de la barre d'outils dessin), je voudrais les masquer tous d'un coup quand je clique sur mon bouton qui active ma macro
J'arrive a en faire disparaitre un à la fois (voir fichier d'exemple joint), exemple :

Code:
Private Sub CommandButton2_Click()
Feuil1.Shapes("trait1").Visible = False
Feuil1.Shapes("trait2").Visible = False
Feuil1.Shapes("ellipse3").Visible = False
Feuil1.Shapes("rectangle4").Visible = False
End Sub

je voudrais pouvoir nommé un groupe de trait/rond/rectangle, pour ne pas avoir besoin de taper 4ligne, mais qu'une seul.
Dans mon fichier de travail, j'ai enormément de trait, il serais donc assez long et ennuyeux de les nommer un par un, et de faire une ligne pour chaque.

je sais pas si j'ai été clair. en gros je veux pouvoir nommer un groupe de "forme", pour n'avoir qu'une seul ligne dans ma macro (sur l'exemple).

Merci d'avance.:)
 

Pièces jointes

  • Exemple masque.xls.xls
    26 KB · Affichages: 58

mth

XLDnaute Barbatruc
Re : Rendre invisible un groupe de trait

Bonjour,

juste au cas où, tu peux sélectionner toutes tes formes (cliquer desssus en maintenant le bouton CTRL enfoncé), puis clic droit / Menu Groupe / Grouper. Ceci te mets toutes tes formes dans un seul groupe.

Bon après-midi,

mth
 

sabzzz

XLDnaute Junior
Re : Rendre invisible un groupe de trait

bonjour andsim34,

voici un autre exemple, au cas ou tu voudrais cacher que certain shape

Sub Macro1()
For Each Sh In Feuil1.Shapes
Set x = Sh.OLEFormat.Object
Select Case TypeName(x)
Case "Line": Sh.Visible = False
Case "Oval": Sh.Visible = False
Case "Rectangle": Sh.Visible = False
End Select
Next
End Sub
 

andsim34

XLDnaute Nouveau
Re : Rendre invisible un groupe de trait

ok merci sabzzz, la fonction grouper suffit pour ce que je souhaite faire pour l'instant.

Par contre est-il possible de cacher (via la macro toujour) aussi une plages de cellule de la meme manière que:
"Feuil1.Shapes("trait1").Visible = False"

si oui, par exemple une plage de cellules nommée "Tabl1" ça donnerais quoi ?

Merci
 

sabzzz

XLDnaute Junior
Re : Rendre invisible un groupe de trait

bonjour andsim34 et à tous

si la propriété Déplacer et dimentionner avec les cellules
est cochée

la ligne suivante suffit pour les masquer
Feuil1.Range("Tabl1").Hidden = True

je regarde à propos de shaperange pour modifier la propriété par vba et revient donné des nouvelles,
a+
 

sabzzz

XLDnaute Junior
Re : Rendre invisible un groupe de trait

bonjour andsim34 et à tous,

voilà :

Sub Macro1()
For Each sh In Feuil1.Shapes
Set x = Application.Intersect(Range(sh.TopLeftCell.Address), Range("Tabl1"))
If Not x Is Nothing Then sh.Locked = False: sh.Placement = xlMoveAndSize
Range("Tabl1").EntireRow.Hidden = True
Next
End Sub
 

andsim34

XLDnaute Nouveau
Re : Rendre invisible un groupe de trait

Re,

ou est ce que je vois si la propriété "Déplacer et dimentionner avec les cellules" est coché ou pas ?

La ligne "Feuil1.Range("Tabl1").Hidden = True" ne marche pas, j'ai l'erreur "impossible de définir la propriété Hidden de la classe range".

Ensuite
Code:
Sub Macro1()
For Each sh In Feuil1.Shapes
Set x = Application.Intersect(Range(sh.TopLeftCell.Address ), Range("Tabl1"))
If Not x Is Nothing Then sh.Locked = False: sh.Placement = xlMoveAndSize
Range("Tabl1").EntireRow.Hidden = True
Next
End Sub

ça me vire tout les ligne complète sur lesquel est défini ma plage.:confused: en plus sa mets 3 plombes :eek: mdr

A moins que j'ai fais une fausse manip ?
 

Discussions similaires

Statistiques des forums

Discussions
312 391
Messages
2 087 945
Membres
103 681
dernier inscrit
Lafite84