Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Modifier un opérateur dans le code via un formulaire! Possible?!

  • Initiateur de la discussion Initiateur de la discussion pacoako
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

pacoako

XLDnaute Occasionnel
Bonjour à tous!

J'ai beau chercher sur le net mais vraiment il n'y a rien qui va dans la direction de mon problème 🙁

J'essaie de permettre à un utilisateur d'évaluer une expression avec 2 variables, à l'aide d'opérateurs (=, <,>, etc.) contenus dans un combobox.

Donc je voudrais que mon utilisateur puisse choisir quel opérateur le logiciel utilisera pour faire sa comparaison entre les 2 variables, tous en évitant que mon code se répette.

Voici ci-joint un fichier.xls qui pourra probablement mieux illustrer ce que je tente de faire.

Je vous remercie d'avance pour toutes les cellules que vous grillerez afin de trouver une soluce à mon prob! =))))

Bonne journée/soirée! Au plaisir de vous relire!
 

Pièces jointes

Re : Modifier un opérateur dans le code via un formulaire! Possible?!

Salut Pacoako,

La seule solution pour ce que tu veux et en rapide est l'option 3
mais avec une petit modification

Code:
Private Sub CommandButton3_Click()
  If ComboBox1 = "" Or TextBox1 = "" Or TextBox2 = "" Then Exit Sub
  Dim x As Variant
  Dim y As Variant
  Dim Operateur As String
  Dim Evaluation As Boolean
  x = TextBox1
  y = TextBox2
  Operateur = ComboBox1
  Select Case ComboBox1
  Case "="
    If x = y Then Evaluation = True Else Evaluation = False
  Case "<"
    If x < y Then Evaluation = True Else Evaluation = False
  Case ">"
    If x > y Then Evaluation = True Else Evaluation = False
  Case "<="
    If x <= y Then Evaluation = True Else Evaluation = False
  Case ">="
    If x >= y Then Evaluation = True Else Evaluation = False
  Case "<>"
    If x <> y Then Evaluation = True Else Evaluation = False
  End Select
  If Evaluation = True Then
    MsgBox "C'est vrai, j'te le dis!"
  Else
    MsgBox "C'est faux, vraiment! :P"
  End If
End Sub

A+
 
Dernière modification par un modérateur:
Re : Modifier un opérateur dans le code via un formulaire! Possible?!

Bonjour Pacoako, Bruno 🙂

pour l'option 2, une petite adaptation est nécessaire pour les Alpha
Code:
If Val(TextBox1) > 0 Then ' On teste si c'est une valeur numérique (. décimal) Mettre cdbl à la place de val si , décimale)
    operation = "=" & TextBox1 & Operateur & TextBox2
Else
    operation = "=" & Chr(34) & TextBox1 & Chr(34) & Operateur & Chr(34) & TextBox2 & Chr(34)
End If
Evaluation = Evaluate(operation)
 
Re : Modifier un opérateur dans le code via un formulaire! Possible?!

Bonjour Pacoako, Bruno, Wilfried42,

Une subtilité m'échappe totalement ... pourquoi trois options ???

A +

Salut Forum!

Pour répondre a James, c'est vraiment le bouton #1 que j'essaie de faire fonctionner... mais pour l'instant la seule façon que j'ai trouver mais qui peut être trèes laborieuse dépendemment de la complexité du code c'est le bouton #3

Et Merci Wilfred pour ta soluce du #2 je vais essayer ça dèes que j'ai 2 min. =)
 
Dernière édition:
Re : Modifier un opérateur dans le code via un formulaire! Possible?!

Merci pour l'explication ...

Je viens seulement de comprendre ... ta question n'est pas vraiment ce le titre du post indique ...
puisque les codes écrits par BrunoM45 et par Wilfried42 fonctionnent très bien Option2 et Option3 ...

Tu cherches donc à condenser le code ... pour ta fameuse Option 1 ...
un point de départ ...
Code:
If Evaluate("=" & x & Operateur & y) Then
 
Re : Modifier un opérateur dans le code via un formulaire! Possible?!

re: à tous

pour l'option 1, j'ai peut être une solution, mais elle est vraiment tirée par les cheveux et pas sur qu'elle fonctionne et franchement c'est une triche total :
créer les lignes de programme au lancement du bouton sur vbaproject, j'ai déjà fait pour m'amuser, mais sans plus.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…