Programmation Excel

Fermé
LANGAZOU Messages postés 95 Date d'inscription vendredi 16 janvier 2015 Statut Membre Dernière intervention 8 novembre 2015 - 16 janv. 2015 à 09:08
LANGAZOU Messages postés 95 Date d'inscription vendredi 16 janvier 2015 Statut Membre Dernière intervention 8 novembre 2015 - 16 janv. 2015 à 20:44
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.
A voir également:

2 réponses

Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 31
Modifié par Theo.R le 16/01/2015 à 09:28
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
LANGAZOU Messages postés 95 Date d'inscription vendredi 16 janvier 2015 Statut Membre Dernière intervention 8 novembre 2015
16 janv. 2015 à 10:29
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
Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 31 > LANGAZOU Messages postés 95 Date d'inscription vendredi 16 janvier 2015 Statut Membre Dernière intervention 8 novembre 2015
16 janv. 2015 à 10:48
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
Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
16 janv. 2015 à 10:58
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
LANGAZOU Messages postés 95 Date d'inscription vendredi 16 janvier 2015 Statut Membre Dernière intervention 8 novembre 2015
16 janv. 2015 à 11:54
désolé je suis nouveau ici et j'arrive pas à uploader mon fichier. coment faire SVP.
Merci.
0
Theo.R Messages postés 575 Date d'inscription vendredi 11 juillet 2014 Statut Membre Dernière intervention 30 mars 2016 31 > LANGAZOU Messages postés 95 Date d'inscription vendredi 16 janvier 2015 Statut Membre Dernière intervention 8 novembre 2015
16 janv. 2015 à 11:54
Sur Cjoint.com, il te suffit de renseigner une adresse mail puis on te donne un lien à copier-coller dans ton commentaire ici
0
LANGAZOU Messages postés 95 Date d'inscription vendredi 16 janvier 2015 Statut Membre Dernière intervention 8 novembre 2015
16 janv. 2015 à 13:30
https://www.cjoint.com/?0AqnLLbHZok

Merci pour votre aide.
0