Calcul de données dans un UserForm
Le résultat retourné est toujours 0.00
Voici mon code complet qui fonctionne mais que jusqu'à la partie de sélection des taux
Private Sub Calculprime_Click()
If rmhremplace.Value = "" Then
rmhcompare = rmhremplacé.Value
Else
rmhcompare = rmhremplace.Value
End If
If rmhremplacant.Value < rmhcompare Then
montantprime.Value = Val(rmhcompare) - Val(rmhremplacant)
Else
montantprime.Value = 0
End If
Dim Calculprime
'DEFINITION DES VARIABLES POUR LE CALCUL
Calculprime = montantprime.Value * convertiondatehaut
montantprime = Calculprime
Dim tauxremplacement
If tauxremplacement = "75%" Then
TAUX = 0.75
If tauxremplacement = "50%" Then
TAUX = 0.5
If tauxremplacement = "25%" Then
TAUX = 0.25
If tauxremplacement = "100%" Then
TAUX = 1
End If
End If
End If
End If
montantprime = montantprime.Value * TAUX
End Subj'ai tout essayé et ça ne prend pas en compte le pourcentage... avec des .Value ou sans, en changeant le nom des variables, en faisant des conditions sur d'autres boutons pour séparer les calculs... je suis perdu
Voici le code actuel:
Private Sub Calculprime_Click()
If rmhremplace.Value = "" Then
rmhcompare = rmhremplacé.Value
Else
rmhcompare = rmhremplace.Value
End If
If rmhremplacant.Value < rmhcompare Then
montantprime.Value = Val(rmhcompare) - Val(rmhremplacant)
Else
montantprime.Value = 0
End If
Dim Calculprime
'DEFINITION DES VARIABLES POUR LE CALCUL
Calculprime = montantprime.Value * convertiondatehaut
'montantprime = Calculprime
'Dim tauxremplacement
'IF pourcentage="50%" then ..... Moncalul = salaire * 0.5
If tauxremplacement.Value = "75%" Then
montantprime = Val(Calculprime) * 0.75
ElseIf tauxremplacement.Value = "50%" Then
montantprime = Val(Calculprime) * 0.5
ElseIf tauxremplacement.Value = "25%" Then
montantprime = Val(Calculprime) * 0.25
ElseIf tauxremplacement.Value = "100%" Then
montantprime = Val(Calculprime)
End If
End SubBonjour, voici un nouveau fichier d'exemple complet il ne manque que ce calcul selon le taux de remplacement... C'est le résultat final qui devrait être divisé par 2 si le taux est à 50% et ainsi de suite.
Vous pouvez essayer avec un coefficient de 205 pour le remplaçant et de 225 pour le remplacé (avec titulaire)
'Nota SI VOUS AVEZ RENOMMER VOTRE TEXTBOX montantprime alors il faut renommer dans le code aussi ?
'La partie du milieu n'a rien à faire là.
Private Sub Calculprime_Click()
If rmhremplace.Value = "" Then
rmhcompare = rmhremplacé.Value
Else
rmhcompare = rmhremplace.Value
End If
If rmhremplacant.Value < rmhcompare Then
montantprime.Value = Val(rmhcompare) - Val(rmhremplacant)
Else
montantprime.Value = 0
End If
'Dim Calculprime
'DEFINITION DES VARIABLES POUR LE CALCUL
'Calculprime = montantprime.Value * convertiondatehaut
'montantprime = Calculprime
'Dim tauxremplacement
If tauxremplacement = "75%" Then
TAUX = 0.75
If tauxremplacement = "50%" Then
TAUX = 0.5
If tauxremplacement = "25%" Then
TAUX = 0.25
If tauxremplacement = "100%" Then
TAUX = 1
End If
End If
End If
End If
montantprime = montantprime.Value * TAUX
End SubEn séparant les calculs sur un autre bouton j'arrive à le faire fonctionner mais uniquement si le taux est de 50%
Private Sub CommandButton16_Click()
Dim calcultaux
If tauxremplacement.Value = "50 %" Then
calcultaux = (montantprime.Value) / 2
TextBox1 = calcultaux
End If
End SubVotre code me retourne toujours 0.00, je ne sais pas pour quelle raisons...
En voyant votre code je constate que vous écrivez : 50 % avec un espace et non 50% collé.
Vérifiez l'écriture de vos pourcentage si l'espace existe alors c'est normal que mon code ne fonctionne pas il faudra insérer les espaces manquants.
Cela semble correct il n'y a pas d'espace dans les deux cas
Private Sub tauxremplacement_Change()
tauxremplacement.Value = Format(tauxremplacement.Value, "00%")
End SubPrivate Sub Calculprime_Click()
If rmhremplace.Value = "" Then
rmhcompare = rmhremplacé.Value
Else
rmhcompare = rmhremplace.Value
End If
If rmhremplacant.Value < rmhcompare Then
montantprime.Value = Val(rmhcompare) - Val(rmhremplacant)
Else
montantprime.Value = 0
End If
'Dim Calculprime
'DEFINITION DES VARIABLES POUR LE CALCUL
'Calculprime = montantprime.Value * convertiondatehaut
'montantprime = Calculprime
'Dim tauxremplacement
If tauxremplacement = "75%" Then
TAUX = 0.75
If tauxremplacement = "50%" Then
TAUX = 0.5
If tauxremplacement = "25%" Then
TAUX = 0.25
If tauxremplacement = "100%" Then
TAUX = 1
End If
End If
End If
End If
montantprime = montantprime.Value * TAUX
End SubQuand la partie ci-dessous n'est pas en commentaire le résultat retourné est 0.00, en revanche lorsque je l'enlève le résultat devient 0
Private Sub montantprime_Change()
montantprime = Format(montantprime, "0.00")
End Vous avez personnalisé l'affichage de la combox taux remplacement. c'est vous même qui ajoutez l'espace.
dans le fichier joint.
Private Sub tauxremplacement_Change()
tauxremplacement.Value = Format(tauxremplacement.Value, "00 %")
End SubDonc au plus simple on va mettre le symbole % à coté de votre combobox et garder la valeur 100 75 50 25
et virer le code de la combobox Tauxremplacement.
Ce sera moins prise de tête plutôt que se trainer des %
Merci beaucoup pour cette solution, il manque juste dernier détail. La multiplication ne se fait plus, il faut faire la différence entre les deux rmh multiplié par les mois de remplacement divisé selon le taux de remplacement
If rmhremplace.Value = "" Then
rmhcompare = rmhremplacé.Value
Else
rmhcompare = rmhremplace.Value
End If
If rmhremplacant.Value < rmhcompare Then
montantprime.Value = Val(rmhcompare) - Val(rmhremplacant)
Else
montantprime.Value = 0
End If
y = tauxremplacement.Text
'CALCUL PRIME PRORATA TAUX REMPLACEMENT
montantprime.Value = Format(Val(montantprime.Value) * Val(tauxremplacement) / 100, "#00.00")Comment insérer cela dans ce nouveau code ?
En ajoutant * convertiondatehaut après :
montantprime.Value = Format(Val(montantprime.Value) * Val(tauxremplacement) / 100, "#00.00")Cela fonctionne parfaitement
Merci beaucoup pour toute cette aide