Calcul avec controls

G

G'Claire

Guest
Salut le forum

N'arrivant pas faire de sieste après une longue nuit a faire danser les gens et les geannes,lol, j'essaye de régler le problème suivant :

1) J'ai un Combobox qui me sert a établir un fixer un prix en francs et de ce combobox un textbox se rempli seul pour avoir un prix en €

Ce que j'aimerai c'est d'avoir aprés le calcul que deux chiffres aprés la virgule


2) Par contre je n'arrive pas a faire la soustraction suivante avec en par exemple :

TextBoxSoldeFrancs = ComboBoxPrixFrancs - TextBoxAccompteFrancs

Mais il faut que je remplisse en premier l'accompte (TextBoxAccompteFrancs) pour que cela fonctionne.


J'ai essayer pour ces deux cas le code suivant :

Private Sub ComboBoxPrixFrancs_Change()

TextBoxPrixEuros = Val(ComboBoxPrixFrancs) / 6.55957

TextBoxSoldeFrancs = Val(ComboBoxPrixFrancs) - Val(TextBoxAccompteFrancs)

End Sub



Y'a t'il d'autres soulution?

Merci pour votre aide, G'Claire
 
H

Hervé

Guest
bonjour,


1) je crois que c'est avec la commande format :

Format(ComboBoxPrixFrancs , "##,##0.00") devrait te donner satisfaction...

2) as tu essaye de mettre en premier


if TextBoxAccompteFrancs="" then TextBoxAccompteFrancs=0

cela te permettrait d'avoir une valeur pour ton calcul...

j'espere t'avoir aidée,

@+ Hervé
 
G

G'Claire

Guest
Hervé, le Forum

Merci pour ton aide.

le premier code fonctionne, je l'ai écrit comme cela :

TextBoxPrixEuros = Format(TextBoxPrixEuros, "##,##0.00")


j'ai essayé le deuxième et cela ne fonctionne pas, j'ai tenté de mettre des "" devant et derrière le zéro, mais cela ne change rien

En faite il faut vraiment que je rentre d'abord la valeur dans le textbox (TextBoxAccompteFrancs) en premier sinon, il n'y a pas de calcul.

Merci pour ton aide,G'Claire
 
H

Hervé

Guest
bonsoir,
as tu essayé ceci:


IF TextBoxAccompteFrancs="" then Val(TextBoxAccompteFrancs)=0
ne mets pas de "" car 0 sera considéré comme comme texte et tu auras une erreur du genre type incompatible (enfin je crois...)

TextBoxSoldeFrancs = Val(ComboBoxPrixFrancs) - Val(TextBoxAccompteFrancs)

en esperant pour toi que cela fonctionne

@+Hervé
 
H

Hervé

Guest
re

OUPS!! lire ceci plutot que mon precedent post...

as tu essayé comme ceci:
TextBoxAccompteFrancs.text=0
....ne mets pas de "" car 0 sera considéré comme comme texte et tu auras une erreur du genre type incompatible (enfin je crois...)

tu dois pouvoir aussi essayer ainsi :

IF TextBoxAccompteFrancs.text="" then Val(TextBoxAccompteFrancs)=0


TextBoxSoldeFrancs = Val(ComboBoxPrixFrancs) - Val(TextBoxAccompteFrancs)

en esperant pour toi que cela fonctionne

@+Hervé
 
G

G'Claire

Guest
Hervé, le forum

Merci de ta réponse, et voila ce que j'ai fait (Je ne sais pas si c'st la bonne solution.....)

Dans le control TextBoxAccompteFrancs

If TextBoxAccompteFrancs.Text = "" Then TextBoxAccompteFrancs = 0
TextBoxSoldeFrancs = ComboBoxPrixFrancs - TextBoxAccompteFrancs


Par contre si je modifie le ComboBox le calcule ne se fait plus, es-ce normal?

Merci, G'Claire
 
H

Hervé

Guest
bonjour forum

bonjour G'Claire

a priori, je dirais que ce n'est pas au bon endroit..., Mais peux tu me faire passer ton fichier que je regarde de plus pres??

ce sera plus facile pour moi que d'essayer de te depanner a distance...

@+
 
H

Hervé

Guest
bonsoir,

ci dessous modification apportee pour faire le calcul en changeant le prix en francs...

Private Sub ComboBoxPrixFrancs_Change()

TextBoxPrixEuros = Val(ComboBoxPrixFrancs) / 6.55957
TextBoxPrixEuros = Format(TextBoxPrixEuros, "##,##0.00")
TextBoxSoldeFrancs.Value = Val(ComboBoxPrixFrancs) - Val(TextBoxAccompteFrancs)

End Sub

est ce cela que tu cherchais?

bon courage et je reste a ta dispo pour une aide eventuelle
@+ Hervé
 

Pièces jointes

  • GCLAIRE.zip
    24.4 KB · Affichages: 16
G

G'Claire

Guest
Salut a toutes et a tous,

Voila le calcul dans mon UserForm se fait trés bien (Merci, Hervé), par contre quand je fait la validation pour envoyer ms données dans ma feuille "Renseignements", j'ai une erreur :

Erreur d'éxécution "13" :

Incompatibilité de type

Private Sub TextBoxAccompteFrancs_Change()

If TextBoxAccompteFrancs.Text = "" Then TextBoxAccompteFrancs = 0

If TextBoxAccompteFrancs = "0" Then
LabelAccompteFrancs.ForeColor = &H80000008
LabelAccompteEuros.ForeColor = &H80000008
Else
LabelAccompteFrancs.ForeColor = &HFF0000
LabelAccompteEuros.ForeColor = &HFF0000
End If

TextBoxAccompteEuros = Val(TextBoxAccompteFrancs) / 6.55957
TextBoxSoldeFrancs = ComboBoxPrixFrancs - TextBoxAccompteFrancs

End Sub

Et cela surligne en jaune :

TextBoxSoldeFrancs = ComboBoxPrixFrancs - TextBoxAccompteFrancs

et je pense que cela fera pareil ici :

Private Sub TextBoxAccompteEuros_Change()

TextBoxAccompteEuros = Format(TextBoxAccompteEuros, "##,##0.00")
TextBoxSoldeEuros = TextBoxPrixEuros - TextBoxAccompteEuros

End Sub

sur ce bout de code

TextBoxSoldeEuros = TextBoxPrixEuros - TextBoxAccompteEuros

et si je les suppriment cela me fait plus le calcul dans le UserForm

Ou est le problème car je tourne en rond avec ces calcul en utilisant les controls.

Merci, de votre aide ou explications, G'Claire
 

Pièces jointes

  • GestionDesContratsSansCP.zip
    29.7 KB · Affichages: 23
  • GestionDesContratsSansCP.zip
    29.7 KB · Affichages: 25
  • GestionDesContratsSansCP.zip
    29.7 KB · Affichages: 20
H

Hervé

Guest
bonsoir

a tout hasard, dans :

Private Sub TextBoxAccompteFrancs_Change()
...
If TextBoxAccompteFrancs = "0" Then
...

j'enlèverai les "" car le "0" est de type text et 0 de type entier, et dsans un calcul tu ne peux te servir de text...

donc, si tu mets
...
If TextBoxAccompteFrancs = 0 Then
...
cela ne marche t il pas mieux?

Dis moi si cela convient...

@+ Hervé


PS : désolé mais moi ton fichier me fait erreur d'execution '9' l'indice n'appartient pas a la selection..., je n'ai donc pas pu lancer l'USF.

mais a premiere vue j'essayerai sans ""...
 
G

G'Claire

Guest
Hervé, le forum

Revoilou le fichier, l'erreur que tu avait venait du fait que j'ai supprimé une feuille "Code-Postal"

Par-contre j'ai essyé comme tu m'a dit mais une fois l'ajout effectuer j'ai toujours mon erreur.

Merci, G'Claire
 

Pièces jointes

  • GestionDesContratsSansCP.zip
    29.8 KB · Affichages: 23
  • GestionDesContratsSansCP.zip
    29.8 KB · Affichages: 27
  • GestionDesContratsSansCP.zip
    29.8 KB · Affichages: 22
H

Hervé

Guest
re G'Claire, Le forum...

désolé, mais je ne reproduiit pas ton erreur...

peut etre du fait que je n'ai pas tout du programme...

si tu veux, envoies le sur ma bal et je verrai bien.

pour ma part, quand je fais des calcul avec des controls,

- soit je travailles avec le textbox.value,
- soit j'ai au préalable déclaré des variables integer auquelles j'affecte la textbox.value sous la forme :
mavar=textbox.value, puis je fais des calculs avec ces variables..

N'ayant pas tous les éléments, j'espere t'avoir aide...

@+, Hervé
 
G

G'Claire

Guest
Hervé, le forum

En faite il faut saisir :

le nom du marié (Car test si saisie ou non)
Le prix en francs
L'accompte en francs

et faire "Ajouter cette soirée"

Et là tu as le bug

Mais ce qui est bizard c'est que les données sont bien renvoyées dans la feuille et les calcules effectués

Par contre si tu ne saisie pas d'accompte en Francs, je n'ai plus le bug


Voila, merci encore, G'Claire
 

Statistiques des forums

Discussions
312 452
Messages
2 088 547
Membres
103 881
dernier inscrit
malbousquet