Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Faire apparaitre des objets [VBA]

  • Initiateur de la discussion Initiateur de la discussion Escartefigue
  • 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 !

E

Escartefigue

Guest
Bonjour le forum,

Je poste ce fichier sur lequel il y a un objet appelé "BOUTON1" sur la feuille 1 et deus objets (OBJET1 et OBJET2) sur les feuilles 1 et 2.
Au départ je voulais faire apparaitre OBJET1 et OBJET2 si la cellule B1 de la feuille 3 (cette feuille sera masquée) avait une certaine "valeur" donc j'ai créé une macro copier/coller (A1>B1) que j'ai mis sur le BOUTON1, mais je n'arrive pas à créer la macro qui fait apparaitre les objets.

Si une âme charitable pouvais me donner un coup de main ça serait sympa.

@+
 

Pièces jointes

Re : Faire apparaitre des objets [VBA]

Bonjour,

Voilà ton fichier modifié 🙂

J'ai fais en sorte que si B1 de la feuille 3 = 0 alors on affiche les boutons et si = 1 on cache. Le tout via le bouton 1.
Je ne l'ai pas fais si on change directement sur la feuille 3 vu qu'apparemment celle-ci sera cachée par la suite.

Bonne journée.

John
 

Pièces jointes

Dernière édition:
Re : Faire apparaitre des objets [VBA]

Bonjour John,

Pas mal la macro.
Cependant les objets sur la feuille 2 ne disparaissent pas.
De plus je ne comprends pas comment cette macro fait disparaitre uniquement ces deux objets et pas tous ceux qui ce trouvent sur la feuille...😕

Pourrais tu me faire une petite explication s'il te plait.

@+
 
Re : Faire apparaitre des objets [VBA]

Re,

Sorry, j'ai oublié de faire pour la feuille 2 oupssss. Ci-joint le fichier modifié.

Le fonctionnement est très simple, je fais une boucle sur les 2 feuilles, sur celle-ci, je boucle sur les "shapes" qui se trouve sur la feuille et je teste le texte qui est écrit dedans. Si c'est "bouton 1", je ne fais rien sinon je masque ou j'affiche.

Bonne fin de journée.

John
 

Pièces jointes

Re : Faire apparaitre des objets [VBA]


OK, alors c'est à mon tour de m'excuser car j'ai peut-être un peu trop simplifié mon exemple.
En fait sur les feuilles j'ai plusieurs objets de ce type, mais je veux avoir la possibilité de faire disparaitre/apparaitre seulement ces deux-là.
Peut-on plutôt prendre le problème à l'envers et dire à la macro de faire une action sur les objets contenant un mot? Avant de faire un autre impair je tiens à signaler que les deux objets ont normalement des textes très différents.

@+
 
Re : Faire apparaitre des objets [VBA]

Re,

Oui tu peux le faire, il suffit d'entrer le texte de tes "shapes" dans la condition et de mettre = ou <> tout simplement.

Si tu veux, envois-moi un fichier avec les exemples de shapes que tu as avec les bons textes et la/les conditions pour que ceux-ci disparaissent, je te ferai un exemple que tu n'auras plus qu'à adapter à tes besoins par la suite.

John
 
Re : Faire apparaitre des objets [VBA]

Et voilà
Fais en disparaitre 2, ceux que tu veux.
Merci c'est sympa

@+
 

Pièces jointes

Dernière modification par un modérateur:
Re : Faire apparaitre des objets [VBA]

Voilà 🙂

Bonne fin de journée.

John
Bonjour John,

Merci pour ton exemple je pense avoir compris une grosse partie.
J'ai tout de même une question et un problème... (je sais je ne suis pas doué!
J'ai renommé mes onglets, puis je garder For x = 1 To 2 ou dois je mettre le nom du premier et du dernier onglet?
La macro me dit que j'ai une erreur sur txt = n.TextFrame.Characters.Text, mais je ne comprends pas pourquoi?

Merci de ton aide
@+
 

Pièces jointes

Re : Faire apparaitre des objets [VBA]

Bonjour,

Tu as une erreur car le bouton "START" est une image apparemment et non une forme avec du texte, donc quand on veux lire la propriété texte, le vba n'y arrive pas car la propriété texte n'existe pas sur une image, d'où l'erreur. J'ai mis un "on error resume next", donc en cas d'erreur continuer suivant...

Sinon le reste est bon, sauf que j'avais transformé en LCASE (minuscule) le texte des bouton pour la comparaison, mais pas grave, je l'ai fait en UCASE (majuscule) vu que tu as tout écris en majuscule dans les "SI". Tu peux garder sans soucis le for x... car je parcours les feuilles via sheets(x), mais la dernière feuille, celle où il n'y a pas de bouton, ne doit pas être devant ou intercalée dans les autres, elle doit bien rester la dernière... Sinon il faudra faire un for x to sheets.count et mettre une condition qui dit que si x = la feuille en question, on ne fait rien.

Ci-joint le fichier...

Bonne journée.

John

Ps: en cas d'autre question, ne je serai pas là aujourd'hui car je dois partir... j'y répondrai dès mon retour ou demain.
 

Pièces jointes

Dernière édition:
Re : Faire apparaitre des objets [VBA]

C'est parfait, ça marche nickel!!!
Un grand merci à toi!

@+
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

N
Réponses
13
Affichages
1 K
Nath641
N
A
  • Question Question
Réponses
2
Affichages
594
A
  • Question Question
Réponses
24
Affichages
6 K
artlight
A
N
  • Question Question
Réponses
13
Affichages
2 K
N
S
Réponses
0
Affichages
445
Slakhdine
S
V
Réponses
2
Affichages
1 K
Val119
V
R
Réponses
6
Affichages
3 K
richardM
R
A
Réponses
1
Affichages
791
Ale2819
A
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…