masquer un objet dans excel par VBA

  • Initiateur de la discussion Initiateur de la discussion Blafi
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Blafi

XLDnaute Occasionnel
Bonjour à tous les forumeurs...,

Je cherche à masquer ou à montrer un objet (groupement de rectangles et de boutons) positionné dans une feuille excel et ceci grace à une macro.
Ma manip consisterait à le seul à pouvoir afficher l'objet afin d'utiliser les commandes contenues dans cet objet (ce sont des boutons déclenchant des macros).
Quelqu'un peut-il me donner une solution ?

Merci d'avance aux champions d'excel et VBA...
 
hello Blafi


Pour masquer un element je ne connait pas la commande cependant
voila un peu de code qui permet de faire passer ton objet en arriere plan

c bien utile pour afficher ou masquer une info.

Code:
ActiveSheet.Shapes('Rectangle 51').Select
    Selection.ShapeRange.ZOrder msoSendToBack
et pour mafficher

Code:
    ActiveSheet.Shapes('Rectangle 51').Select
    Selection.ShapeRange.ZOrder msoBringToFront

@+

Shintra
 
Merci de la réponse, mais entre temps j'ai trouvé le code qu'il faut. Ca ressemble à ce que tu a mis mais en plus complet:

sub MontrerMasquer()
If ActiveSheet.Shapes('Rectangle 51').visible=true then
ActiveSheet.Shapes('Rectangle 51').visible=false
else ActiveSheet.Shapes('Rectangle 51').visible=true
end if
end sub

Avec cette macro, je peux masquer ou montrer l'objet... et ça marche au poil pour ceux que ça intéresse..

Par contre, je n'ai pas trouvé le moyen de changer le nom de l'objet qui est donné par excel (rectangle 1 ici). Si quelqu'un peut me dire comment faire...

A bientôt...
A bient
 
Bonsoir Blafi, Shintra 🙂

Blafi , je penses que ce dont tu parles, c'est de sa propriété Name, une fois créé, tu peux utiliser ses propriétés comme avec d'autres objets ?

Vois ceci :



Option Explicit

Sub Macro1()

ActiveSheet.Shapes.AddShape(msoShapeRectangle, 201#, 149.25, 126.75, 73.5). _
Select

Selection.Name = 'Abracadabra'
Selection.Caption = 'Xld, c'est le plus Beau !'
MsgBox 'On Continue ?'
ActiveSheet.Shapes('Abracadabra').Visible = False

' Ps : à la place de la chaîne abracadabra, tu peux _
mettre une variable alimentée par une valeur _
de case ou de boîte de saisie...

End Sub


Bonne nuit,

Bfr

 
Merci Bricofire pour ton aide...
J'ai aussi trouvé une autre méthode en sélectionnant l'objet dans ma feuille excel et en lui tapant un nom à la place de celui mis d'office dans la zone nom audessus de A1.... et ça marche avec ce nouveau nom dans le code VBA..
A bientôt.. 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour