Créer une fonction

Quipetchi

XLDnaute Nouveau
Bonjours,
J'aimerais créer une fonction, qui me permet d'afficher un bouton (que j'ai déja créer), uniquement dans ma 2ème condition d'une fonction SI.

Expl: SI(E1=123;E1-A2;"vidange à faire")
Donc la fonction que je souhaite créer ferait en sorte d'afficher un bouton lorsque il y a "vidange à faire".
 

Pièces jointes

  • Tableau vidange modif.xlsm
    49.7 KB · Affichages: 157
  • Tableau vidange modif.xlsm
    49.7 KB · Affichages: 166
  • Tableau vidange modif.xlsm
    49.7 KB · Affichages: 157
Dernière édition:

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Créer une fonction

Bonjour Qui......

voir fichier joint
il est nécessaire d'activer les macros

à+
Philippe
 

Pièces jointes

  • 111.xlsm
    19.4 KB · Affichages: 277
  • 111.xlsm
    19.4 KB · Affichages: 282
  • 111.xlsm
    19.4 KB · Affichages: 278

Quipetchi

XLDnaute Nouveau
Re : Créer une fonction

Merci c'est exactement ce que je voulais (mais malheureusement je ne sait pas comment faire pour l'adapter à mon tableau...)

J'ai essayé de le modifié en conséquence sur ma première ligne du tableau mais... (commandeButton1.Visible , je ne sait pas comment le modifier)

Pourriez-vous, me montrer comment faire ?
 

Pièces jointes

  • Tableau vidange modif.xlsm
    53.4 KB · Affichages: 130
  • Tableau vidange modif.xlsm
    53.4 KB · Affichages: 138
  • Tableau vidange modif.xlsm
    53.4 KB · Affichages: 140
Dernière édition:

max.lander

XLDnaute Occasionnel
Re : Créer une fonction

Salut amateur des Simpson, le forum,


Tu dois utiliser le code comme suit en utilisant l’événement Worksheet_Change
(pour activer la macro a chaque changement de ta feuille de calcul)
Avec cette methode, le code ne doit pas être saisi dans un module

mais surtout ton bouton doit s'appeler CommandButton1 si non ca fonctionne pas!

Tu dois aussi créer des boutons type "contrôle activex" et non type "contrôles de formulaire"

A ta dispo pour plus d'informations

Bonne soirée!

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("G2")) Is Nothing Then
If [G2] <> "Vidange à faire" Then
CommandButton1.Visible = True
End If
If [G2] = "Vidange à faire" Then
CommandButton1.Visible = False
End If
End If
End Sub
 
Dernière édition:

Quipetchi

XLDnaute Nouveau
Re : Créer une fonction

Bon alors, j'ai mis des boutons activeX, j'ai mis le code dans VBA, mais ça ne fonctionne pas.
Je pense qu'en fait, je ne met pas le code au bon endroit.
Dites moi comment procéder parce que je suis sûr que ce n'est qu'une toute petite erreur de rien du tout. (de ma part)

J'entre dans VBA, puis...

Merci de me noter la suite svp.
 

Quipetchi

XLDnaute Nouveau
Re : Créer une fonction

Je croit avoir trouvé une différence avec ce que phlaurent à fait:

La cellule que phlaurent vise pour afficher ou ne pas afficher le bouton ne contient pas de fonction tandis que ma cellule en contient une. (fonction SI)

J'ai essayer sur une cellule qui ne contient pas de fonction et c'est effectivement là le problème.
Maintenant comment changer le code en conséquence ? (pour que le code ne prenne en compte que ce qui est affiché dans la cellule et non-pas le tout avec la fonction)
 
Dernière édition:

max.lander

XLDnaute Occasionnel
Re : Créer une fonction

Tu peux simplifier ton code comme dans le fichier joint sans passer par un target.
(à toi de voir si cela te convient)

Mais utiliser une construction type IF.... Then.... n'est pas la meilleur solution pour gérer plusieurs boutons optes plutôt pour un case
 

Pièces jointes

  • Copie de Tableau vidange modif 2-2.xlsm
    36.9 KB · Affichages: 148

Quipetchi

XLDnaute Nouveau
Re : Créer une fonction

Bon bah rebelotte. Quand j'essaie faire ce code pour le bouton 2 ça ne fonctionne pas. (je modifie bien sûre CommandButton2 dans le code, mais bon... rien y fait)

Sa me casse la tête ce VBA, pourquoi il ne veut pas accepter ce nouveau code (en plus il n'y a pas d'erreur dedant !)

J'abuse vraiment de tes connaissance, mais pourrais-tu me montrer comment faire pour faire de même avec un nouveau bouton ?
 

Quipetchi

XLDnaute Nouveau
Re : Créer une fonction

J'ai essayer avec et sans le mode création mais rien n'y fait.
Cepandant j'ai remarqué que quand je fait créer un nouveau macro et que je met le code dedant, puis j'enregistre, et que je quitte VBA. Eh bien mon code s'est effacé automatiquement. Et je ne le retrouve plus...
C'est peut-être dut a ça ?

Mon code s'enregistre en tant que module mais pas en tant que feuille. Comment faire pour qu'il passe sur une feuille VBA ?
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 234
Messages
2 086 468
Membres
103 226
dernier inscrit
smail12