Signaler

Faire disparaitre un bouton sous condition [Résolu]

Posez votre question maud1681 - Dernière réponse le 8 févr. 2017 à 14:44 par Maud1681
Bonjour,

Je voudrais faire apparaître un bouton quand la cellule A35 contient "DG".

Voici mon code :

Public Sub Gestion_Signature_DG()
If Range("A35").Value = "DG" Then
ActiveSheet.Shapes("CommandButton3").Visible = True
Else
ActiveSheet.Shapes("CommandButton3").Visible = False
End If
End Sub


Le bouton n'est pas visible quand DG n'est pas présent mais il ne réapparait pas quand c'est le cas... je ne comprends pas pourquoi... pouvez-vous m'aider ?

Afficher la suite 
Utile
+0
plus moins
Bonjour,

il faut utiliser un événement de ta feuille.

Pour cela :
  • clic droit sur l'onglet de la feuille concernée
  • visualiser le code
  • copier/coller ce code :


Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address <> "$A$35" Then Exit Sub
  If Target.Value = "DG" Then
    ActiveSheet.Shapes("CommandButton3").Visible = True
  Else
    ActiveSheet.Shapes("CommandButton3").Visible = False
  End If
End Sub 

cs_Le Pivert 4406Messages postés jeudi 13 septembre 2007Date d'inscription ContributeurStatut 23 avril 2017 Dernière intervention - 7 févr. 2017 à 11:42
Salut pijaku,

j'étais en train de rédiger ma réponse quand tu as répondu!

Bonne journée

@+ Le Pivert
Répondre
pijaku 12170Messages postés jeudi 15 mai 2008Date d'inscription ModérateurStatut 9 mars 2017 Dernière intervention - 7 févr. 2017 à 11:54
Salut,

Oui, nous nous sommes croisés.
Mais 2 réponses valent mieux qu'une !
Bonne journée également.
A++
Répondre
Donnez votre avis
Utile
+0
plus moins
Bonjour,

Ce code fonctionne bien, cela dépend de la façon dont la Sub Gestion_Signature_DG est appelée !

Pour essai mettre le curseur sur
Public Sub Gestion_Signature_DG()
et appuyer sur le touche F5
Maud1681- 8 févr. 2017 à 10:26
Bonjour à vous deux et merci pour vos réponses !
Je suis une grande débutante en VBA... j'ai essayé de copier/coller le code :
le bouton disparaît bien mais ne réapparait pas et quand je demande d'exécuter la macro en cliquant sur play, le bouton exécuter est grisé... est-ce normal ?
J'ai également essayé de faire F5 sur private sub, et pas de réaction...
J'ai encore besoin de vos lumières,
merci d'avance,
Répondre
Donnez votre avis
Utile
+0
plus moins
Bonjour,

Et pourtant : http://www.cjoint.com/c/GBijGqIyReE
Maud1681 14Messages postés mercredi 8 février 2017Date d'inscription 16 février 2017 Dernière intervention - 8 févr. 2017 à 11:18
Oui je ne comprends pas...
voici mon fichier
http://www.cjoint.com/c/GBiksrHYWPO
Répondre
pijaku 12170Messages postés jeudi 15 mai 2008Date d'inscription ModérateurStatut 9 mars 2017 Dernière intervention - 8 févr. 2017 à 11:44
Tu ne nous dit pas tout !
Ce n'est pas ta cellule A16 qui détermine l'apparition ou non de ton bouton, mais le choix dans ta cellule A1.

Par conséquent, ton code devient :
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address <> "$A$1" Then Exit Sub
  If Target.Value = Worksheets("PARAMETRES").Range("B4") Then
    ActiveSheet.Shapes("CommandButton3").Visible = True
  Else
    ActiveSheet.Shapes("CommandButton3").Visible = False
  End If
End Sub
Répondre
Maud1681 14Messages postés mercredi 8 février 2017Date d'inscription 16 février 2017 Dernière intervention - 8 févr. 2017 à 14:08
Yes !!!! super, ça marche !! merci beaucoup !!
J'en profite...
J'ai essayé de faire remonter le nom de l'utilisateur en cliquant sur un bouton :
Quand l'utilisateur clique, le bouton disparaît et son nom apparait dans la cellule qui est dessous.
J'ai utilisé le code : Range("A1") = Application.UserName
ça marche sauf que c'est le nom du propriétaire d'excel qui remonte...donc le nom de la société --> nul
Sais-tu quel code je peux utiliser pour faire remonter le nom de la personne qui a ouvert la session de l'ordi ?
Répondre
pijaku 12170Messages postés jeudi 15 mai 2008Date d'inscription ModérateurStatut 9 mars 2017 Dernière intervention - 8 févr. 2017 à 14:31
Oui.

Dim monNom As String
monNom = Environ("UserName")
Répondre
Maud1681 14Messages postés mercredi 8 février 2017Date d'inscription 16 février 2017 Dernière intervention - 8 févr. 2017 à 14:44
impec !! cela marche bien !!
un grand merci !!
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !