Afficher un bouton en fonction du resultat d'une cellule

Résolu
mimi13580 Messages postés 72 Date d'inscription   Statut Membre Dernière intervention   -  
mimi13580 Messages postés 72 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   26
 
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   Statut Membre Dernière intervention   26
 
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
Mimi
 
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   Statut Membre Dernière intervention   26
 
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
Mimi
 
Merci, je vais faire l'essai et je reviens vers vous....
Merci
0
mimi13580 Messages postés 72 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour placageGranby, bonjour le forum

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

mimi
0