Programmation Excel

LANGAZOU Messages postés 100 Statut Membre -  
LANGAZOU Messages postés 100 Statut Membre -
Bonjour,

Je suis débutant en VBA EXCEL et je souhaite trouver une solution à mon serieux problème qui est le suivant:
j'ai créé un USERFORM ("PLACEMENT") avec des TEXTBOX intitulé (Montant, période, Taux). je voulais integrer une grille de taux au sein de mon commandbutton ("valider").

par exemple: si le 50< Montant<100 et 10< période <90 le taux ne doit pas dépasser 1.20%, si ca dépasse le textbox "Taux" s'efface automatiquement et un message box se declenche " depassement de la grille de taux".

j'ai plusieurs conditions à mettre en place au même temps, j'ai essayé la fonction If mais ca fonctionne pas. quelqu'un m'a dit qu'il faut utiliser une matrice et franchement aucune idée sur ca :?.

Merci pour votre précieuse aide.

2 réponses

  1. Theo.R Messages postés 585 Statut Membre 31
     
    Hello !

    J'ai du mal à bien comprendre ce que tu cherches à faire, peux-tu uploader un doc banalisé sous Cjoint.com stp ?

    Dans tous les cas, la fonction If peut facilement se combiner avec elle-même pour intégrer plusieurs conditions :

    If ... Then
    If ... Then
    End If
    End If

    Autre chose, pour un Userform, il est important de bien situer ton code, par défaut quand tu cliques sur un élément, le code affiché est dans la catégorie "CHANGE" et se nomme en conséquent, par ex : Sub Textbox1_Change

    Selon ce que tu veux coder, change la catégorie (BeforeUpdate est souvent utilisé mais d'autres également !).
    0
    1. LANGAZOU Messages postés 100 Statut Membre
       
      Mr Theo.R je vous explique encore mieux . je veux que lorsque je tape le TAUX (Textbox11) il verifie automatiquement le montant (textbox3) et la periode (textbox7) auxquelle il appartient et si le taux tapé est supérieur à la grille, le textboxt 11 devient vide et un message box se declenche. ci après le code que j'ai tapé mais ca fonctionne pas, il m'affiche à plusieurs reprise le msgbox dès que je tape mon taux.


      Private Sub TextBox11_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)

      If 90 <= textbox7.Value < 180 And 30 < TextBox3.Value <= 100 And textbox11.Value > 0.5 Then
      MsgBox "Dépassement de la grille"
      textbox11.Value = ""
      End If
      If 90 <= textbox7.Value < 180 And 100 < TextBox3.Value < 500 And textbox11.Value > 1.25 Then
      MsgBox "Dépassement de la grille"
      textbox11.Value = ""
      End If
      If 90 <= textbox7.Value < 180 And 500 <= TextBox3.Value <= 3000 And textbox11.Value > 1.5 Then
      MsgBox "Dépassement de la grille"
      textbox11.Value = ""
      End If
      If 90 <= textbox7.Value < 180 And 3000 < TextBox3.Value <= 5000 And textbox11.Value > 1.6 Then
      MsgBox "Dépassement de la grille"
      textbox11.Value = ""
      End If
      If 180 <= textbox7.Value < 360 And 0 < TextBox3.Value <= 100 And textbox11.Value > 0.7 Then
      MsgBox "Dépassement de la grille"
      textbox11.Value = ""
      End If
      If 180 <= textbox7.Value < 360 And 100 < TextBox3.Value < 500 And textbox11.Value > 1.3 Then
      MsgBox "Dépassement de la grille"
      textbox11.Value = ""
      End If
      If 180 <= textbox7.Value < 360 And 500 < TextBox3.Value <= 3000 And textbox11.Value > 1.6 Then
      MsgBox "Dépassement de la grille"
      textbox11.Value = ""
      End If
      If 180 <= textbox7.Value < 360 And 3000 < TextBox3.Value <= 5000 And textbox11.Value > 1.7 Then
      MsgBox "Dépassement de la grille"
      textbox11.Value = ""
      End If


      End Sub
      0
    2. Theo.R Messages postés 585 Statut Membre 31 > LANGAZOU Messages postés 100 Statut Membre
       
      Est-il possible d'avoir le doc sous Cjoint.com pour faire des tests ? Banalisé si besoin

      Je vois déjà que tu es en BeforeUpdate, peut-être que cela vient de là, mais encore une fois j'ai besoin d'un document pour voir à quel niveau ça bloque..
      0
    3. Zoul67 Messages postés 2001 Statut Membre 149
       
      Bonjour,

      On ne peut pas mettre plusieurs inéquations (du genre 180 <= textbox7.Value < 360).
      Il va falloir ajouter des "And"...
      Il me semble plus élégant d'indiquer la valeur maximale admise après MàJ des TextBox 3 et 7.

      A+
      0
    4. LANGAZOU Messages postés 100 Statut Membre
       
      désolé je suis nouveau ici et j'arrive pas à uploader mon fichier. coment faire SVP.
      Merci.
      0
    5. Theo.R Messages postés 585 Statut Membre 31 > LANGAZOU Messages postés 100 Statut Membre
       
      Sur Cjoint.com, il te suffit de renseigner une adresse mail puis on te donne un lien à copier-coller dans ton commentaire ici
      0