Cacher un bouton dans le tableur

Bonjour le forum !

Petite question rapide :

Est-il possible de cacher un bouton présent dans une feuille excel et de le faire apparaître sous certaines conditions ?

Je sais qu'il est possible de faire ça dans un userform, mais dans un tableur ... J'imagine que les fonction sont les mêmes, seulement ce que je n'arrive pas à déterminer, c'est le nom que porte mon bouton dans ma feuille excel. Nom qui servirait dans mon code VB à pointer mon bouton pour exécuter une action dessus.

Merci d'avance !

Vbrod

Bonjour,

Le nom de ton bouton apparaît dans la zone Nom quand tu le sélectionnes...

A+ Cordialement, Daniel

Je savais que c'était tout simple !!

Merci beaucoup Daniel !

EDIT :

J'ai bien trouvé le nom de mon bouton, cependant il n'est pas reconnu par VBA ..

En effet lorsque j'écris :

If IsEmpty(range("E2)) Then
Bouton1.Hide
End If

Une erreur surgit en me disant "Objet manquant" ..

J'ai essayé d'être plus précis dans mon code en écrivant

If IsEmpty(range("E2)) Then
ActiveSheet.Bouton1.Hide
End If

Toujours pareil, message d'erreur ..

Quelqu'un pourrait m'éclairer ?

Merci

Vbrod

Up

Bonjour,

Ton code VBA est placé où ?

De mémoire, tu peux afficher ou pas un button d'une feuille si ton code VBA est placé sur la feuille, par exemple à l'événement Activate.

Par contre, il faut que tu détermines tes conditions d'affichage.

Bonjour !

Mon code est placé dans un module.

Je ne vois pas très bien ce que tu veux dire par "placé sur la feuille".

J'ajoute un fichier pour que vous compreniez ce que je veux.

Sur ce fichier, très basique, j'ai un bouton "suppr." qui vient effacer le contenu de la cellule placé à sa gauche (D2 dans mon exemple), j'aimerais que ce bouton ne soit visible qu'à partir du moment où une valeur est présente en D2.

Peut être que ce n'est pas possible, du moins après avoir fouillé sur le net je n'ai pas trouvé d'équivalent à mon problème.

Merci

Vbrod

18exemple-bouton.xlsm (15.47 Ko)

Bonjour,

Une solution en pièce jointe.

Bonne journée.

Génial ! C'est exactement ce que je voulais !

Merci Galopin

Pourrais-tu m'expliquer un peu le code que tu as placé dans la feuille ?

Private Sub Worksheet_Change(ByVal Target As Range)
Dim isect
Set isect = Application.Intersect(Target, Range("D2"))
If Not isect Is Nothing And Range("D2") <> "" Then ActiveSheet.Shapes("Button 1").Visible = True
End Sub

Bonjour,

Rend le bouton visible quand "D2" n'est pas vide.

La routine s'exécute à chaque fois qu'une cellule change de valeur : Le principal intérêt de cette formulation est que la macro ne s'exécute que si la cellule "D2" change de valeur (Par saisie directe.)

A+

Salut Galopin !

En fait c'est surtout le terme "Application.Intersect (Target, Range ("D2"))" qui me posait soucis dans la compréhension

En tout cas ça marche parfaitement, et pas uniquement en saisie directe d'ailleurs.

Problème résolu, encore merci !

Rechercher des sujets similaires à "cacher bouton tableur"