Afficher un bouton en fonction du resultat d'une cellule

Résolu/Fermé
mimi13580 Messages postés 72 Date d'inscription mercredi 29 octobre 2014 Statut Membre Dernière intervention 9 novembre 2015 - 10 juil. 2015 à 19:47
mimi13580 Messages postés 72 Date d'inscription mercredi 29 octobre 2014 Statut Membre Dernière intervention 9 novembre 2015 - 10 juil. 2015 à 22:19
Bonjour le forum,

Je cherche à faire une macro qui me permet d'afficher un bouton en fonction du résultat d'une cellule.

Je m'explique:
- si cellule O25="Conforme" de la feuille Paramètre alors afficher le bouton_1
- si cellule O25="Non-Conforme" de la feuille Paramètre alors afficher le bouton_2.

Merci de votre aide

4 réponses

PlacageGranby Messages postés 393 Date d'inscription mercredi 26 mars 2014 Statut Membre Dernière intervention 7 mars 2019 26
Modifié par PlacageGranby le 10/07/2015 à 20:15
Bonjour Mimi13580

Vous écrivez vous-même conforme dans la cellule O25 ou c'est le résultat d'une formule ?

Autre question : Avez vous utiliser le bouton des Contrôle formulaire, ou le bouton des Controle ActiveX ?
1
PlacageGranby Messages postés 393 Date d'inscription mercredi 26 mars 2014 Statut Membre Dernière intervention 7 mars 2019 26
10 juil. 2015 à 20:24
Rapidement
Private Sub Worksheet_Change(ByVal Target As Range)
If UCase(Range("O25").Value) = "CONFORME" Then
    CommandButton1.Visible = True
    CommandButton2.Visible = False
Else
    CommandButton1.Visible = False
    CommandButton2.Visible = True
End If

End Sub


Dès qu'une valeur change n'importe ou dans la feuille, Excel vérifi le contenu de O25.

Excel est très strict dans les comparaison de chaine. Conforme n'égale pas conforme.
Les lettre majuscule minuscule sont pris en considération. C'est pourquoi j'utilise Ucase pour éviter une erreur potentielle.
0
Bonjour placageGranby

Nom je n'ecris pas moi meme c'est une formule.
Et pour les boutons j'ai mis controle formulaire.
Par contre si cellule vide ne pas afficher de bouton.
Merci d'avance
1
PlacageGranby Messages postés 393 Date d'inscription mercredi 26 mars 2014 Statut Membre Dernière intervention 7 mars 2019 26
10 juil. 2015 à 20:42
Bonjour Mimi,

Ci-bas, un liens vers un autre topic. La 7ieme réponse Didier Gonard explique très bien la différence entre un controle formulaire et un controle ActiveX
https://www.developpez.net/forums/d1060605/logiciels/microsoft-office/excel/macros-vba-excel/acces-aux-proprietes-d-controle-place-directement-feuille-calcul/

En gros, pour simplifier la programmation, il serait préférable de remplacer les bouton formulaire que tu as pour des bouton ActiveX

Ci-bas, le code laissant les deux bouton invisible si O25 n'est pas une des deux valeurs.
Private Sub Worksheet_Change(ByVal Target As Range)
If UCase(Range("O25").Value) = "CONFORME" Then
    CommandButton1.Visible = True
    CommandButton2.Visible = False
Elseif UCase(Range("O25").Value) = "NON-CONFORME" Then
    CommandButton1.Visible = False
    CommandButton2.Visible = True
else
    CommandButton1.Visible = False
    CommandButton2.Visible = False
End If
0
Merci, je vais faire l'essai et je reviens vers vous....
Merci
0
mimi13580 Messages postés 72 Date d'inscription mercredi 29 octobre 2014 Statut Membre Dernière intervention 9 novembre 2015
10 juil. 2015 à 22:19
Bonjour placageGranby, bonjour le forum

Merci beaucoup pour cette macro...........
Bravo:)

mimi
0