probleme calcul dans textbox !

  • Initiateur de la discussion Initiateur de la discussion guillaumelorchat
  • 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 !

G

guillaumelorchat

Guest
problème avec fonction IF

Bonjour à tous,

comme je galère depuis quelques moments sur mon problème j'ai décidé de vous en faire part.

J'ai un userform dans lequel je rentre des données (dans des textboxs). Je veux ensuite faire un bouton qui calcule un résultat prenant en compte plusieurs données ainsi que des conditions.
Le bouton est fait ça c'est assez simple.

Le problème vient de mon calcul des conditions. Comment faire pour calculer :
salaireB = si(salaire>12000;12000;salaire) en VBA

je vous montre le code que j'ai deja ecrit mais qui ne marche pas ca me donne erreur de compilation et met en gras le IF ou le SI
Code:
Private Sub commandbutton13_click()

Dim salaire As Variant
Dim heure As Variant
    
  salaire = (TextBox1.Value)
  heure = (TextBox2.Value)
  
  TextBox3 = (31.36 * (50 / 100 * (SI(salaire > 12000, 12000, salaire) + (5 / 100 * (SI(salaire > 12000, salaire - 12000, 0))))) / (heure * 8.71)) + (31.36 * (30 / 100 * (SI(heure > 600, 600, heure) + (10 / 100 * (SI(heure > 600, heure - 600, 0))))) / (heure))
  
End Sub


merci pour votre aide précieuse
 
Re : problème avec fonction IF

Bonjour

Pas trop le temps mais quelques pistes

ce que tu fais n'est pas un if mais iif
donc regarde de ce coté là

sinon n'oublies pas que tes textbox renvoie du string et qu'il faut convertir avant
du style
salaire = Val(TextBox1.Value)
ou
salaire = CDbl(TextBox1.Value)
suivnat si tu as un point ou une virgule
 
Re : problème avec fonction IF

merci pour ce coup de main salvateur,

mais en effet j'ai un probleme avec les texbox. Je voudrais rentrer mes données avec des virgules et non des points mais le resultat s'affiche correctement avec une virgule...

je montre mon code :

Code:
Private Sub hmois1_Change()

TextBox2.Value = Val(hmois1.Value) + Val(hmois2.Value) + Val(hmois3.Value) + Val(hmois4.Value) + Val(hmois5.Value) + Val(hmois6.Value) + Val(hmois7.Value) + Val(hmois8.Value) + Val(hmois9.Value) + Val(hmois10.Value) + Val(hmois105.Value)

End Sub

Code:
Private Sub TextBox1_change()
TextBox2 = CDbl(TextBox1.Value)
End Sub

par contre si je remplace
textbox2.value = Val(hmois1.value) par
textbox2.value = cdbl(hmois1.value) ca ne fonctionne pas...
 
Re : problème avec fonction IF

RE

souvent il suffit de faire un petit code qui remplace le point par la virgule ou inversement comme cela tu as toujours soit le point soit la virgule qui apparait quelque soit la frappe de ton user

regarde sur le forum il y a des exemples sur le sujet
 
Bonjour à tous les lecteurs

j'ai un probleme que je n'arrive pas à resoudre, comme tous les participants à ce forum il me semble...

sur un userform j'ai un bouton qui calcul un resultat en fonction de valeurs dans deux textboxs(1 et 2). Le resultat est inscrit dans une troisieme textbox(3) (c'est une valeur de type montant TTC.)
Ce que je voudrais c'est lorsque j'appuie sur le bouton de calcul avoir dans une textbox(4) supplémentaire le montant HT.
Je coince un peu sur la formule...

Code:
Dim salaire As Variant
Dim heure As Variant
salaire = Val(TextBox1.Value)
heure = Val(TextBox2.Value)
  
  
  
  TextBox3.Value = (31.36 * (50 / 100 * (IIf(salaire > 12000, 12000, salaire) + (5 / 100 * (IIf(salaire > 12000, salaire - 12000, 0))))) / (heure * 8.71)) + (31.36 * (30 / 100 * (IIf(heure > 600, 600, heure) + (10 / 100 * (IIf(heure > 600, heure - 600, 0))))) / (heure))
  
Dim Cottis As Variant
            
Cottis = Val(TextBox3.Value)
  
  
  textbox4.Value = 0,96 * Cottis

merci de votre aide !!!
 
Re : probleme calcul dans textbox !

remplace
Code:
salaire = Val(TextBox1.Value)
heure = Val(TextBox2.Value)
par
Code:
salaire =CLng(TextBox1.Value)
heure = CLng(TextBox2.Value)
Cordialement
G.David
Ce lien n'existe plus
ps peut etre même mettre en double
 
Dernière édition:
Re : probleme calcul dans textbox !

bonjour encore...

ca ne marche pas. Peut etre est ce du fait de la methode de remplissage de textbox1 et textbox2...

Ces deux textbox sont le resultat d'une saisie multiple dans des textboxs, par la formule suivante :

Code:
TextBox1.Value = Val(smois1.Value) + Val(smois2.Value) + Val(smois3.Value) + Val(smois4.Value) + Val(smois5.Value) + Val(smois6.Value) + Val(smois7.Value) + Val(smois8.Value) + Val(smois9.Value) + Val(smois10.Value) + Val(smois105.Value)

ceci me permet d'avoir la case textbox1 qui se calcul dès qu'une donnée est entrée dans la case smois1 etc...
Peut etre que le probleme vient de là ?
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour