Salut a toutes et tous
Je réhitère mes soucient, car je ne sais pas si mon post c'est perdu.
Donc j'ai deux petits soucie :
Le premier :
Si je choisi un type de soirée et que je met sois un accompte, soit une
réduction ou même les deux et que je veuille modifier le type de soirée
les
calculs me donnent des valeur qui n'on rien a voir.
Y'a t'il moyen d'y remedier ?
Le deuxième :
Cela est pour la valeur de l'accomte.
Pour le moment je passe par un ComboBox.Additem, mais cela serait il
possible de faire en sorte que l'accompte ne dépasse pas la valeur du prix
de départ.
Voice les codes :
Dans un module :
Option Explicit
Public TypeDeSoiree As Byte
Dans l'userform :
Option Explicit
Dim Plage, PlagePrix As Range
Dim A, B, C, D As Long
Dim WSDonnees, WSDonneesPrix As Worksheet
Dim PlageTypeDeSoirée As String
Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne
Numéro
Private Sub cbxAccompteEuros_Change()
On Error Resume Next
If cbxAccompteEuros.Text = "" Then
txtAccompteFrancs = ""
End If
If cbxAccompteEuros = "" Then
lblAccompteFrancs.ForeColor = &H80000008
lblAccompteEuros.ForeColor = &H80000008
Else
lblAccompteFrancs.ForeColor = &HFF0000
lblAccompteEuros.ForeColor = &HFF0000
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxAccompteEuros <> "" Then
txtAccompteFrancs = CDbl(cbxAccompteEuros) * 6.55957
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
lblAccompteEuros.Visible = True
txtAccompteFrancs.Visible = True
End Sub
Private Sub cbxReduction_Change()
On Error Resume Next
If cbxReduction = "" Then
txtMontantRemiseEuros = ""
txtMontantRemiseFrancs = ""
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
Else
lblMontantRemiseEuros.Visible = True
lblMontantRemiseFrancs.Visible = True
txtMontantRemiseEuros.Visible = True
txtMontantRemiseFrancs.Visible = True
End If
txtMontantRemiseEuros = CDbl(txtPrixEuros) * CDbl(cbxReduction) / 100
txtMontantRemiseFrancs = CDbl(txtMontantRemiseEuros) * 6.55957
If cbxReduction <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(cbxAccompteEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(txtMontantRemiseEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtMontantRemiseFrancs)
End If
'txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
'txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
End Sub
Private Sub cbxTypeDeSoiree_Change()
Set WSDonneesPrix = Sheets("Prix")
Set PlagePrix = WSDonneesPrix.Range("B4:B" &
WSDonneesPrix.Range("D65535").End(xlUp).Row)
On Error Resume Next
D = PlagePrix.Find(What:ËxTypeDeSoiree, LookAt:=xlWhole).Row
With WSDonneesPrix
txtPrixEuros = .Range("C" & D)
End With
If cbxTypeDeSoiree = "" Then
cbxAccompteEuros = ""
cbxReduction = ""
txtPrixFrancs = ""
txtPrixEuros = ""
txtAccompteFrancs = ""
txtSoldeFrancs = ""
txtSoldeEuros = ""
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
Else
cbxAccompteEuros.Enabled = True
cbxReduction.Enabled = True
End If
lblPrixFrancs.Visible = True
txtPrixFrancs.Visible = True
End Sub
Private Sub cmdQuitter_Click()
Unload Me
End Sub
Private Sub txtAccompteFrancs_Change()
On Error Resume Next
txtAccompteFrancs = Format(txtAccompteFrancs, "##,##0.00")
End Sub
Private Sub txtMontantRemiseEuros_Change()
txtMontantRemiseEuros = Format(txtMontantRemiseEuros, "##,##0.00")
End Sub
Private Sub txtMontantRemiseFrancs_Change()
txtMontantRemiseFrancs = Format(txtMontantRemiseFrancs, "##,##0.00")
End Sub
Private Sub txtPortableDeLaMariee_Change()
PhoneFormat txtPortableDeLaMariee
End Sub
Private Sub txtPortableDuMarie_Change()
PhoneFormat txtPortableDuMarie
End Sub
Private Sub txtPrixFrancs_Change()
txtPrixFrancs = Format(txtPrixFrancs, "##,##0.00")
End Sub
Private Sub txtDateDeLaPrestation_Change()
txtDateDeLaPrestation = Application.Proper(Format(Calendar1.Value, "dddd d
mmmm yyyy"))
End Sub
Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub
Private Sub txtSoldeFrancs_Change()
txtSoldeFrancs = Format(txtSoldeFrancs, "##,##0.00")
If txtSoldeFrancs > 0 Then
lblSoldeFrancs.ForeColor = &HFF&
lblSoldeEuros.ForeColor = &HFF&
Else
lblSoldeFrancs.ForeColor = &H80000008
lblSoldeEuros.ForeColor = &H80000008
End If
End Sub
Private Sub txtAccompteEuros_Change()
On Error Resume Next
txtAccompteEuros = Format(txtAccompteEuros, "##,##0.00")
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(txtAccompteEuros)
End Sub
Private Sub txtPrixEuros_Change()
On Error Resume Next
If txtPrixEuros <> "" Then
txtPrixFrancs = CDbl(txtPrixEuros) * 6.55957
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
Else
txtPrixEuros = ""
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = -CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = ""
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs.Value = -CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = ""
End If
End If
txtPrixEuros = Format(txtSoldeEuros, "##,##0.00")
lblAccompteFrancs.Visible = True
cbxAccompteEuros.Visible = True
lblSoldeFrancs.Visible = True
txtSoldeFrancs.Visible = True
lblPrixEuros.Visible = True
txtPrixEuros.Visible = True
lblSoldeEuros.Visible = True
txtSoldeEuros.Visible = True
End Sub
Private Sub txtSoldeEuros_Change()
On Error Resume Next
txtSoldeEuros = Format(txtSoldeEuros, "##,##0.00")
End Sub
Private Sub txtNomDuMarie_Change()
txtNomDuMarie.Value = UCase(txtNomDuMarie.Value)
End Sub
Private Sub txtPrenomDuMarie_Change()
txtPrenomDuMarie = Application.Proper(txtPrenomDuMarie)
End Sub
Private Sub txtNomDeLaMariee_Change()
txtNomDeLaMariee.Value = UCase(txtNomDeLaMariee.Value)
End Sub
Private Sub txtPrenomDeLaMariee_Change()
txtPrenomDeLaMariee = Application.Proper(txtPrenomDeLaMariee)
End Sub
Private Sub UserForm_Initialize()
Dim Ctrl As Control
'Ici je vide les Controls
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox Then
Ctrl = ""
End If
Next Ctrl
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
' Choix des Organisateurs, Nom des salles, Traiteurs, Type de soirée
Set WSDonneesPrix = Worksheets("Prix")
With WSDonneesPrix
PlageTypeDeSoirée = .Range("B4:B" & .Range("B2000").End(xlUp).Row).Address
End With
cbxTypeDeSoiree.RowSource = "Prix!" & PlageTypeDeSoirée
' Choix de l'accompt
cbxAccompteEuros.AddItem "100,00"
cbxAccompteEuros.AddItem "200,00"
cbxAccompteEuros.AddItem "300,00"
'Réduction
cbxReduction.AddItem "10"
cbxReduction.AddItem "15"
cbxReduction.AddItem "20"
End Sub
En vous remerciant par avance, Jacques
Salut a toutes et tous
Je réhitère mes soucient, car je ne sais pas si mon post c'est perdu.
Donc j'ai deux petits soucie :
Le premier :
Si je choisi un type de soirée et que je met sois un accompte, soit une
réduction ou même les deux et que je veuille modifier le type de soirée
les
calculs me donnent des valeur qui n'on rien a voir.
Y'a t'il moyen d'y remedier ?
Le deuxième :
Cela est pour la valeur de l'accomte.
Pour le moment je passe par un ComboBox.Additem, mais cela serait il
possible de faire en sorte que l'accompte ne dépasse pas la valeur du prix
de départ.
Voice les codes :
Dans un module :
Option Explicit
Public TypeDeSoiree As Byte
Dans l'userform :
Option Explicit
Dim Plage, PlagePrix As Range
Dim A, B, C, D As Long
Dim WSDonnees, WSDonneesPrix As Worksheet
Dim PlageTypeDeSoirée As String
Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne
Numéro
Private Sub cbxAccompteEuros_Change()
On Error Resume Next
If cbxAccompteEuros.Text = "" Then
txtAccompteFrancs = ""
End If
If cbxAccompteEuros = "" Then
lblAccompteFrancs.ForeColor = &H80000008
lblAccompteEuros.ForeColor = &H80000008
Else
lblAccompteFrancs.ForeColor = &HFF0000
lblAccompteEuros.ForeColor = &HFF0000
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxAccompteEuros <> "" Then
txtAccompteFrancs = CDbl(cbxAccompteEuros) * 6.55957
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
lblAccompteEuros.Visible = True
txtAccompteFrancs.Visible = True
End Sub
Private Sub cbxReduction_Change()
On Error Resume Next
If cbxReduction = "" Then
txtMontantRemiseEuros = ""
txtMontantRemiseFrancs = ""
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
Else
lblMontantRemiseEuros.Visible = True
lblMontantRemiseFrancs.Visible = True
txtMontantRemiseEuros.Visible = True
txtMontantRemiseFrancs.Visible = True
End If
txtMontantRemiseEuros = CDbl(txtPrixEuros) * CDbl(cbxReduction) / 100
txtMontantRemiseFrancs = CDbl(txtMontantRemiseEuros) * 6.55957
If cbxReduction <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(cbxAccompteEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(txtMontantRemiseEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtMontantRemiseFrancs)
End If
'txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
'txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
End Sub
Private Sub cbxTypeDeSoiree_Change()
Set WSDonneesPrix = Sheets("Prix")
Set PlagePrix = WSDonneesPrix.Range("B4:B" &
WSDonneesPrix.Range("D65535").End(xlUp).Row)
On Error Resume Next
D = PlagePrix.Find(What:ËxTypeDeSoiree, LookAt:=xlWhole).Row
With WSDonneesPrix
txtPrixEuros = .Range("C" & D)
End With
If cbxTypeDeSoiree = "" Then
cbxAccompteEuros = ""
cbxReduction = ""
txtPrixFrancs = ""
txtPrixEuros = ""
txtAccompteFrancs = ""
txtSoldeFrancs = ""
txtSoldeEuros = ""
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
Else
cbxAccompteEuros.Enabled = True
cbxReduction.Enabled = True
End If
lblPrixFrancs.Visible = True
txtPrixFrancs.Visible = True
End Sub
Private Sub cmdQuitter_Click()
Unload Me
End Sub
Private Sub txtAccompteFrancs_Change()
On Error Resume Next
txtAccompteFrancs = Format(txtAccompteFrancs, "##,##0.00")
End Sub
Private Sub txtMontantRemiseEuros_Change()
txtMontantRemiseEuros = Format(txtMontantRemiseEuros, "##,##0.00")
End Sub
Private Sub txtMontantRemiseFrancs_Change()
txtMontantRemiseFrancs = Format(txtMontantRemiseFrancs, "##,##0.00")
End Sub
Private Sub txtPortableDeLaMariee_Change()
PhoneFormat txtPortableDeLaMariee
End Sub
Private Sub txtPortableDuMarie_Change()
PhoneFormat txtPortableDuMarie
End Sub
Private Sub txtPrixFrancs_Change()
txtPrixFrancs = Format(txtPrixFrancs, "##,##0.00")
End Sub
Private Sub txtDateDeLaPrestation_Change()
txtDateDeLaPrestation = Application.Proper(Format(Calendar1.Value, "dddd d
mmmm yyyy"))
End Sub
Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub
Private Sub txtSoldeFrancs_Change()
txtSoldeFrancs = Format(txtSoldeFrancs, "##,##0.00")
If txtSoldeFrancs > 0 Then
lblSoldeFrancs.ForeColor = &HFF&
lblSoldeEuros.ForeColor = &HFF&
Else
lblSoldeFrancs.ForeColor = &H80000008
lblSoldeEuros.ForeColor = &H80000008
End If
End Sub
Private Sub txtAccompteEuros_Change()
On Error Resume Next
txtAccompteEuros = Format(txtAccompteEuros, "##,##0.00")
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(txtAccompteEuros)
End Sub
Private Sub txtPrixEuros_Change()
On Error Resume Next
If txtPrixEuros <> "" Then
txtPrixFrancs = CDbl(txtPrixEuros) * 6.55957
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
Else
txtPrixEuros = ""
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = -CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = ""
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs.Value = -CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = ""
End If
End If
txtPrixEuros = Format(txtSoldeEuros, "##,##0.00")
lblAccompteFrancs.Visible = True
cbxAccompteEuros.Visible = True
lblSoldeFrancs.Visible = True
txtSoldeFrancs.Visible = True
lblPrixEuros.Visible = True
txtPrixEuros.Visible = True
lblSoldeEuros.Visible = True
txtSoldeEuros.Visible = True
End Sub
Private Sub txtSoldeEuros_Change()
On Error Resume Next
txtSoldeEuros = Format(txtSoldeEuros, "##,##0.00")
End Sub
Private Sub txtNomDuMarie_Change()
txtNomDuMarie.Value = UCase(txtNomDuMarie.Value)
End Sub
Private Sub txtPrenomDuMarie_Change()
txtPrenomDuMarie = Application.Proper(txtPrenomDuMarie)
End Sub
Private Sub txtNomDeLaMariee_Change()
txtNomDeLaMariee.Value = UCase(txtNomDeLaMariee.Value)
End Sub
Private Sub txtPrenomDeLaMariee_Change()
txtPrenomDeLaMariee = Application.Proper(txtPrenomDeLaMariee)
End Sub
Private Sub UserForm_Initialize()
Dim Ctrl As Control
'Ici je vide les Controls
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox Then
Ctrl = ""
End If
Next Ctrl
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
' Choix des Organisateurs, Nom des salles, Traiteurs, Type de soirée
Set WSDonneesPrix = Worksheets("Prix")
With WSDonneesPrix
PlageTypeDeSoirée = .Range("B4:B" & .Range("B2000").End(xlUp).Row).Address
End With
cbxTypeDeSoiree.RowSource = "Prix!" & PlageTypeDeSoirée
' Choix de l'accompt
cbxAccompteEuros.AddItem "100,00"
cbxAccompteEuros.AddItem "200,00"
cbxAccompteEuros.AddItem "300,00"
'Réduction
cbxReduction.AddItem "10"
cbxReduction.AddItem "15"
cbxReduction.AddItem "20"
End Sub
En vous remerciant par avance, Jacques
Salut a toutes et tous
Je réhitère mes soucient, car je ne sais pas si mon post c'est perdu.
Donc j'ai deux petits soucie :
Le premier :
Si je choisi un type de soirée et que je met sois un accompte, soit une
réduction ou même les deux et que je veuille modifier le type de soirée
les
calculs me donnent des valeur qui n'on rien a voir.
Y'a t'il moyen d'y remedier ?
Le deuxième :
Cela est pour la valeur de l'accomte.
Pour le moment je passe par un ComboBox.Additem, mais cela serait il
possible de faire en sorte que l'accompte ne dépasse pas la valeur du prix
de départ.
Voice les codes :
Dans un module :
Option Explicit
Public TypeDeSoiree As Byte
Dans l'userform :
Option Explicit
Dim Plage, PlagePrix As Range
Dim A, B, C, D As Long
Dim WSDonnees, WSDonneesPrix As Worksheet
Dim PlageTypeDeSoirée As String
Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne
Numéro
Private Sub cbxAccompteEuros_Change()
On Error Resume Next
If cbxAccompteEuros.Text = "" Then
txtAccompteFrancs = ""
End If
If cbxAccompteEuros = "" Then
lblAccompteFrancs.ForeColor = &H80000008
lblAccompteEuros.ForeColor = &H80000008
Else
lblAccompteFrancs.ForeColor = &HFF0000
lblAccompteEuros.ForeColor = &HFF0000
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxAccompteEuros <> "" Then
txtAccompteFrancs = CDbl(cbxAccompteEuros) * 6.55957
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
lblAccompteEuros.Visible = True
txtAccompteFrancs.Visible = True
End Sub
Private Sub cbxReduction_Change()
On Error Resume Next
If cbxReduction = "" Then
txtMontantRemiseEuros = ""
txtMontantRemiseFrancs = ""
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
Else
lblMontantRemiseEuros.Visible = True
lblMontantRemiseFrancs.Visible = True
txtMontantRemiseEuros.Visible = True
txtMontantRemiseFrancs.Visible = True
End If
txtMontantRemiseEuros = CDbl(txtPrixEuros) * CDbl(cbxReduction) / 100
txtMontantRemiseFrancs = CDbl(txtMontantRemiseEuros) * 6.55957
If cbxReduction <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(cbxAccompteEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(txtMontantRemiseEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtMontantRemiseFrancs)
End If
'txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
'txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
End Sub
Private Sub cbxTypeDeSoiree_Change()
Set WSDonneesPrix = Sheets("Prix")
Set PlagePrix = WSDonneesPrix.Range("B4:B" &
WSDonneesPrix.Range("D65535").End(xlUp).Row)
On Error Resume Next
D = PlagePrix.Find(What:ËxTypeDeSoiree, LookAt:=xlWhole).Row
With WSDonneesPrix
txtPrixEuros = .Range("C" & D)
End With
If cbxTypeDeSoiree = "" Then
cbxAccompteEuros = ""
cbxReduction = ""
txtPrixFrancs = ""
txtPrixEuros = ""
txtAccompteFrancs = ""
txtSoldeFrancs = ""
txtSoldeEuros = ""
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
Else
cbxAccompteEuros.Enabled = True
cbxReduction.Enabled = True
End If
lblPrixFrancs.Visible = True
txtPrixFrancs.Visible = True
End Sub
Private Sub cmdQuitter_Click()
Unload Me
End Sub
Private Sub txtAccompteFrancs_Change()
On Error Resume Next
txtAccompteFrancs = Format(txtAccompteFrancs, "##,##0.00")
End Sub
Private Sub txtMontantRemiseEuros_Change()
txtMontantRemiseEuros = Format(txtMontantRemiseEuros, "##,##0.00")
End Sub
Private Sub txtMontantRemiseFrancs_Change()
txtMontantRemiseFrancs = Format(txtMontantRemiseFrancs, "##,##0.00")
End Sub
Private Sub txtPortableDeLaMariee_Change()
PhoneFormat txtPortableDeLaMariee
End Sub
Private Sub txtPortableDuMarie_Change()
PhoneFormat txtPortableDuMarie
End Sub
Private Sub txtPrixFrancs_Change()
txtPrixFrancs = Format(txtPrixFrancs, "##,##0.00")
End Sub
Private Sub txtDateDeLaPrestation_Change()
txtDateDeLaPrestation = Application.Proper(Format(Calendar1.Value, "dddd d
mmmm yyyy"))
End Sub
Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub
Private Sub txtSoldeFrancs_Change()
txtSoldeFrancs = Format(txtSoldeFrancs, "##,##0.00")
If txtSoldeFrancs > 0 Then
lblSoldeFrancs.ForeColor = &HFF&
lblSoldeEuros.ForeColor = &HFF&
Else
lblSoldeFrancs.ForeColor = &H80000008
lblSoldeEuros.ForeColor = &H80000008
End If
End Sub
Private Sub txtAccompteEuros_Change()
On Error Resume Next
txtAccompteEuros = Format(txtAccompteEuros, "##,##0.00")
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(txtAccompteEuros)
End Sub
Private Sub txtPrixEuros_Change()
On Error Resume Next
If txtPrixEuros <> "" Then
txtPrixFrancs = CDbl(txtPrixEuros) * 6.55957
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
Else
txtPrixEuros = ""
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = -CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = ""
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs.Value = -CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = ""
End If
End If
txtPrixEuros = Format(txtSoldeEuros, "##,##0.00")
lblAccompteFrancs.Visible = True
cbxAccompteEuros.Visible = True
lblSoldeFrancs.Visible = True
txtSoldeFrancs.Visible = True
lblPrixEuros.Visible = True
txtPrixEuros.Visible = True
lblSoldeEuros.Visible = True
txtSoldeEuros.Visible = True
End Sub
Private Sub txtSoldeEuros_Change()
On Error Resume Next
txtSoldeEuros = Format(txtSoldeEuros, "##,##0.00")
End Sub
Private Sub txtNomDuMarie_Change()
txtNomDuMarie.Value = UCase(txtNomDuMarie.Value)
End Sub
Private Sub txtPrenomDuMarie_Change()
txtPrenomDuMarie = Application.Proper(txtPrenomDuMarie)
End Sub
Private Sub txtNomDeLaMariee_Change()
txtNomDeLaMariee.Value = UCase(txtNomDeLaMariee.Value)
End Sub
Private Sub txtPrenomDeLaMariee_Change()
txtPrenomDeLaMariee = Application.Proper(txtPrenomDeLaMariee)
End Sub
Private Sub UserForm_Initialize()
Dim Ctrl As Control
'Ici je vide les Controls
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox Then
Ctrl = ""
End If
Next Ctrl
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
' Choix des Organisateurs, Nom des salles, Traiteurs, Type de soirée
Set WSDonneesPrix = Worksheets("Prix")
With WSDonneesPrix
PlageTypeDeSoirée = .Range("B4:B" & .Range("B2000").End(xlUp).Row).Address
End With
cbxTypeDeSoiree.RowSource = "Prix!" & PlageTypeDeSoirée
' Choix de l'accompt
cbxAccompteEuros.AddItem "100,00"
cbxAccompteEuros.AddItem "200,00"
cbxAccompteEuros.AddItem "300,00"
'Réduction
cbxReduction.AddItem "10"
cbxReduction.AddItem "15"
cbxReduction.AddItem "20"
End Sub
En vous remerciant par avance, Jacques
Bonjour.
Difficile de comprendre ce que tu veux faire avec ton userform. Peux-tu
préciser et donner un exemple de ce qui ne fonctionne pas (ce que tu
devrais obtenir et ce que tu obtiens, par exemple.
Cordialement.
Daniel
"Jacques" a écrit dans le message de news:
4365401c$0$1021$Salut a toutes et tous
Je réhitère mes soucient, car je ne sais pas si mon post c'est perdu.
Donc j'ai deux petits soucie :
Le premier :
Si je choisi un type de soirée et que je met sois un accompte, soit une
réduction ou même les deux et que je veuille modifier le type de soirée
les
calculs me donnent des valeur qui n'on rien a voir.
Y'a t'il moyen d'y remedier ?
Le deuxième :
Cela est pour la valeur de l'accomte.
Pour le moment je passe par un ComboBox.Additem, mais cela serait il
possible de faire en sorte que l'accompte ne dépasse pas la valeur du
prix
de départ.
Voice les codes :
Dans un module :
Option Explicit
Public TypeDeSoiree As Byte
Dans l'userform :
Option Explicit
Dim Plage, PlagePrix As Range
Dim A, B, C, D As Long
Dim WSDonnees, WSDonneesPrix As Worksheet
Dim PlageTypeDeSoirée As String
Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne
Numéro
Private Sub cbxAccompteEuros_Change()
On Error Resume Next
If cbxAccompteEuros.Text = "" Then
txtAccompteFrancs = ""
End If
If cbxAccompteEuros = "" Then
lblAccompteFrancs.ForeColor = &H80000008
lblAccompteEuros.ForeColor = &H80000008
Else
lblAccompteFrancs.ForeColor = &HFF0000
lblAccompteEuros.ForeColor = &HFF0000
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxAccompteEuros <> "" Then
txtAccompteFrancs = CDbl(cbxAccompteEuros) * 6.55957
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
lblAccompteEuros.Visible = True
txtAccompteFrancs.Visible = True
End Sub
Private Sub cbxReduction_Change()
On Error Resume Next
If cbxReduction = "" Then
txtMontantRemiseEuros = ""
txtMontantRemiseFrancs = ""
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
Else
lblMontantRemiseEuros.Visible = True
lblMontantRemiseFrancs.Visible = True
txtMontantRemiseEuros.Visible = True
txtMontantRemiseFrancs.Visible = True
End If
txtMontantRemiseEuros = CDbl(txtPrixEuros) * CDbl(cbxReduction) / 100
txtMontantRemiseFrancs = CDbl(txtMontantRemiseEuros) * 6.55957
If cbxReduction <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(cbxAccompteEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(txtMontantRemiseEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtMontantRemiseFrancs)
End If
'txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
'txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
End Sub
Private Sub cbxTypeDeSoiree_Change()
Set WSDonneesPrix = Sheets("Prix")
Set PlagePrix = WSDonneesPrix.Range("B4:B" &
WSDonneesPrix.Range("D65535").End(xlUp).Row)
On Error Resume Next
D = PlagePrix.Find(What:ËxTypeDeSoiree, LookAt:=xlWhole).Row
With WSDonneesPrix
txtPrixEuros = .Range("C" & D)
End With
If cbxTypeDeSoiree = "" Then
cbxAccompteEuros = ""
cbxReduction = ""
txtPrixFrancs = ""
txtPrixEuros = ""
txtAccompteFrancs = ""
txtSoldeFrancs = ""
txtSoldeEuros = ""
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
Else
cbxAccompteEuros.Enabled = True
cbxReduction.Enabled = True
End If
lblPrixFrancs.Visible = True
txtPrixFrancs.Visible = True
End Sub
Private Sub cmdQuitter_Click()
Unload Me
End Sub
Private Sub txtAccompteFrancs_Change()
On Error Resume Next
txtAccompteFrancs = Format(txtAccompteFrancs, "##,##0.00")
End Sub
Private Sub txtMontantRemiseEuros_Change()
txtMontantRemiseEuros = Format(txtMontantRemiseEuros, "##,##0.00")
End Sub
Private Sub txtMontantRemiseFrancs_Change()
txtMontantRemiseFrancs = Format(txtMontantRemiseFrancs, "##,##0.00")
End Sub
Private Sub txtPortableDeLaMariee_Change()
PhoneFormat txtPortableDeLaMariee
End Sub
Private Sub txtPortableDuMarie_Change()
PhoneFormat txtPortableDuMarie
End Sub
Private Sub txtPrixFrancs_Change()
txtPrixFrancs = Format(txtPrixFrancs, "##,##0.00")
End Sub
Private Sub txtDateDeLaPrestation_Change()
txtDateDeLaPrestation = Application.Proper(Format(Calendar1.Value, "dddd
d
mmmm yyyy"))
End Sub
Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub
Private Sub txtSoldeFrancs_Change()
txtSoldeFrancs = Format(txtSoldeFrancs, "##,##0.00")
If txtSoldeFrancs > 0 Then
lblSoldeFrancs.ForeColor = &HFF&
lblSoldeEuros.ForeColor = &HFF&
Else
lblSoldeFrancs.ForeColor = &H80000008
lblSoldeEuros.ForeColor = &H80000008
End If
End Sub
Private Sub txtAccompteEuros_Change()
On Error Resume Next
txtAccompteEuros = Format(txtAccompteEuros, "##,##0.00")
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(txtAccompteEuros)
End Sub
Private Sub txtPrixEuros_Change()
On Error Resume Next
If txtPrixEuros <> "" Then
txtPrixFrancs = CDbl(txtPrixEuros) * 6.55957
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
Else
txtPrixEuros = ""
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = -CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = ""
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs.Value = -CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = ""
End If
End If
txtPrixEuros = Format(txtSoldeEuros, "##,##0.00")
lblAccompteFrancs.Visible = True
cbxAccompteEuros.Visible = True
lblSoldeFrancs.Visible = True
txtSoldeFrancs.Visible = True
lblPrixEuros.Visible = True
txtPrixEuros.Visible = True
lblSoldeEuros.Visible = True
txtSoldeEuros.Visible = True
End Sub
Private Sub txtSoldeEuros_Change()
On Error Resume Next
txtSoldeEuros = Format(txtSoldeEuros, "##,##0.00")
End Sub
Private Sub txtNomDuMarie_Change()
txtNomDuMarie.Value = UCase(txtNomDuMarie.Value)
End Sub
Private Sub txtPrenomDuMarie_Change()
txtPrenomDuMarie = Application.Proper(txtPrenomDuMarie)
End Sub
Private Sub txtNomDeLaMariee_Change()
txtNomDeLaMariee.Value = UCase(txtNomDeLaMariee.Value)
End Sub
Private Sub txtPrenomDeLaMariee_Change()
txtPrenomDeLaMariee = Application.Proper(txtPrenomDeLaMariee)
End Sub
Private Sub UserForm_Initialize()
Dim Ctrl As Control
'Ici je vide les Controls
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox Then
Ctrl = ""
End If
Next Ctrl
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
' Choix des Organisateurs, Nom des salles, Traiteurs, Type de soirée
Set WSDonneesPrix = Worksheets("Prix")
With WSDonneesPrix
PlageTypeDeSoirée = .Range("B4:B" &
.Range("B2000").End(xlUp).Row).Address
End With
cbxTypeDeSoiree.RowSource = "Prix!" & PlageTypeDeSoirée
' Choix de l'accompt
cbxAccompteEuros.AddItem "100,00"
cbxAccompteEuros.AddItem "200,00"
cbxAccompteEuros.AddItem "300,00"
'Réduction
cbxReduction.AddItem "10"
cbxReduction.AddItem "15"
cbxReduction.AddItem "20"
End Sub
En vous remerciant par avance, Jacques
Bonjour.
Difficile de comprendre ce que tu veux faire avec ton userform. Peux-tu
préciser et donner un exemple de ce qui ne fonctionne pas (ce que tu
devrais obtenir et ce que tu obtiens, par exemple.
Cordialement.
Daniel
"Jacques" <jacques-zeziola@wanadoo.fr> a écrit dans le message de news:
4365401c$0$1021$8fcfb975@news.wanadoo.fr...
Salut a toutes et tous
Je réhitère mes soucient, car je ne sais pas si mon post c'est perdu.
Donc j'ai deux petits soucie :
Le premier :
Si je choisi un type de soirée et que je met sois un accompte, soit une
réduction ou même les deux et que je veuille modifier le type de soirée
les
calculs me donnent des valeur qui n'on rien a voir.
Y'a t'il moyen d'y remedier ?
Le deuxième :
Cela est pour la valeur de l'accomte.
Pour le moment je passe par un ComboBox.Additem, mais cela serait il
possible de faire en sorte que l'accompte ne dépasse pas la valeur du
prix
de départ.
Voice les codes :
Dans un module :
Option Explicit
Public TypeDeSoiree As Byte
Dans l'userform :
Option Explicit
Dim Plage, PlagePrix As Range
Dim A, B, C, D As Long
Dim WSDonnees, WSDonneesPrix As Worksheet
Dim PlageTypeDeSoirée As String
Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne
Numéro
Private Sub cbxAccompteEuros_Change()
On Error Resume Next
If cbxAccompteEuros.Text = "" Then
txtAccompteFrancs = ""
End If
If cbxAccompteEuros = "" Then
lblAccompteFrancs.ForeColor = &H80000008
lblAccompteEuros.ForeColor = &H80000008
Else
lblAccompteFrancs.ForeColor = &HFF0000
lblAccompteEuros.ForeColor = &HFF0000
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxAccompteEuros <> "" Then
txtAccompteFrancs = CDbl(cbxAccompteEuros) * 6.55957
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
lblAccompteEuros.Visible = True
txtAccompteFrancs.Visible = True
End Sub
Private Sub cbxReduction_Change()
On Error Resume Next
If cbxReduction = "" Then
txtMontantRemiseEuros = ""
txtMontantRemiseFrancs = ""
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
Else
lblMontantRemiseEuros.Visible = True
lblMontantRemiseFrancs.Visible = True
txtMontantRemiseEuros.Visible = True
txtMontantRemiseFrancs.Visible = True
End If
txtMontantRemiseEuros = CDbl(txtPrixEuros) * CDbl(cbxReduction) / 100
txtMontantRemiseFrancs = CDbl(txtMontantRemiseEuros) * 6.55957
If cbxReduction <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(cbxAccompteEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(txtMontantRemiseEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtMontantRemiseFrancs)
End If
'txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
'txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
End Sub
Private Sub cbxTypeDeSoiree_Change()
Set WSDonneesPrix = Sheets("Prix")
Set PlagePrix = WSDonneesPrix.Range("B4:B" &
WSDonneesPrix.Range("D65535").End(xlUp).Row)
On Error Resume Next
D = PlagePrix.Find(What:ËxTypeDeSoiree, LookAt:=xlWhole).Row
With WSDonneesPrix
txtPrixEuros = .Range("C" & D)
End With
If cbxTypeDeSoiree = "" Then
cbxAccompteEuros = ""
cbxReduction = ""
txtPrixFrancs = ""
txtPrixEuros = ""
txtAccompteFrancs = ""
txtSoldeFrancs = ""
txtSoldeEuros = ""
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
Else
cbxAccompteEuros.Enabled = True
cbxReduction.Enabled = True
End If
lblPrixFrancs.Visible = True
txtPrixFrancs.Visible = True
End Sub
Private Sub cmdQuitter_Click()
Unload Me
End Sub
Private Sub txtAccompteFrancs_Change()
On Error Resume Next
txtAccompteFrancs = Format(txtAccompteFrancs, "##,##0.00")
End Sub
Private Sub txtMontantRemiseEuros_Change()
txtMontantRemiseEuros = Format(txtMontantRemiseEuros, "##,##0.00")
End Sub
Private Sub txtMontantRemiseFrancs_Change()
txtMontantRemiseFrancs = Format(txtMontantRemiseFrancs, "##,##0.00")
End Sub
Private Sub txtPortableDeLaMariee_Change()
PhoneFormat txtPortableDeLaMariee
End Sub
Private Sub txtPortableDuMarie_Change()
PhoneFormat txtPortableDuMarie
End Sub
Private Sub txtPrixFrancs_Change()
txtPrixFrancs = Format(txtPrixFrancs, "##,##0.00")
End Sub
Private Sub txtDateDeLaPrestation_Change()
txtDateDeLaPrestation = Application.Proper(Format(Calendar1.Value, "dddd
d
mmmm yyyy"))
End Sub
Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub
Private Sub txtSoldeFrancs_Change()
txtSoldeFrancs = Format(txtSoldeFrancs, "##,##0.00")
If txtSoldeFrancs > 0 Then
lblSoldeFrancs.ForeColor = &HFF&
lblSoldeEuros.ForeColor = &HFF&
Else
lblSoldeFrancs.ForeColor = &H80000008
lblSoldeEuros.ForeColor = &H80000008
End If
End Sub
Private Sub txtAccompteEuros_Change()
On Error Resume Next
txtAccompteEuros = Format(txtAccompteEuros, "##,##0.00")
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(txtAccompteEuros)
End Sub
Private Sub txtPrixEuros_Change()
On Error Resume Next
If txtPrixEuros <> "" Then
txtPrixFrancs = CDbl(txtPrixEuros) * 6.55957
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
Else
txtPrixEuros = ""
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = -CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = ""
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs.Value = -CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = ""
End If
End If
txtPrixEuros = Format(txtSoldeEuros, "##,##0.00")
lblAccompteFrancs.Visible = True
cbxAccompteEuros.Visible = True
lblSoldeFrancs.Visible = True
txtSoldeFrancs.Visible = True
lblPrixEuros.Visible = True
txtPrixEuros.Visible = True
lblSoldeEuros.Visible = True
txtSoldeEuros.Visible = True
End Sub
Private Sub txtSoldeEuros_Change()
On Error Resume Next
txtSoldeEuros = Format(txtSoldeEuros, "##,##0.00")
End Sub
Private Sub txtNomDuMarie_Change()
txtNomDuMarie.Value = UCase(txtNomDuMarie.Value)
End Sub
Private Sub txtPrenomDuMarie_Change()
txtPrenomDuMarie = Application.Proper(txtPrenomDuMarie)
End Sub
Private Sub txtNomDeLaMariee_Change()
txtNomDeLaMariee.Value = UCase(txtNomDeLaMariee.Value)
End Sub
Private Sub txtPrenomDeLaMariee_Change()
txtPrenomDeLaMariee = Application.Proper(txtPrenomDeLaMariee)
End Sub
Private Sub UserForm_Initialize()
Dim Ctrl As Control
'Ici je vide les Controls
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox Then
Ctrl = ""
End If
Next Ctrl
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
' Choix des Organisateurs, Nom des salles, Traiteurs, Type de soirée
Set WSDonneesPrix = Worksheets("Prix")
With WSDonneesPrix
PlageTypeDeSoirée = .Range("B4:B" &
.Range("B2000").End(xlUp).Row).Address
End With
cbxTypeDeSoiree.RowSource = "Prix!" & PlageTypeDeSoirée
' Choix de l'accompt
cbxAccompteEuros.AddItem "100,00"
cbxAccompteEuros.AddItem "200,00"
cbxAccompteEuros.AddItem "300,00"
'Réduction
cbxReduction.AddItem "10"
cbxReduction.AddItem "15"
cbxReduction.AddItem "20"
End Sub
En vous remerciant par avance, Jacques
Bonjour.
Difficile de comprendre ce que tu veux faire avec ton userform. Peux-tu
préciser et donner un exemple de ce qui ne fonctionne pas (ce que tu
devrais obtenir et ce que tu obtiens, par exemple.
Cordialement.
Daniel
"Jacques" a écrit dans le message de news:
4365401c$0$1021$Salut a toutes et tous
Je réhitère mes soucient, car je ne sais pas si mon post c'est perdu.
Donc j'ai deux petits soucie :
Le premier :
Si je choisi un type de soirée et que je met sois un accompte, soit une
réduction ou même les deux et que je veuille modifier le type de soirée
les
calculs me donnent des valeur qui n'on rien a voir.
Y'a t'il moyen d'y remedier ?
Le deuxième :
Cela est pour la valeur de l'accomte.
Pour le moment je passe par un ComboBox.Additem, mais cela serait il
possible de faire en sorte que l'accompte ne dépasse pas la valeur du
prix
de départ.
Voice les codes :
Dans un module :
Option Explicit
Public TypeDeSoiree As Byte
Dans l'userform :
Option Explicit
Dim Plage, PlagePrix As Range
Dim A, B, C, D As Long
Dim WSDonnees, WSDonneesPrix As Worksheet
Dim PlageTypeDeSoirée As String
Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne
Numéro
Private Sub cbxAccompteEuros_Change()
On Error Resume Next
If cbxAccompteEuros.Text = "" Then
txtAccompteFrancs = ""
End If
If cbxAccompteEuros = "" Then
lblAccompteFrancs.ForeColor = &H80000008
lblAccompteEuros.ForeColor = &H80000008
Else
lblAccompteFrancs.ForeColor = &HFF0000
lblAccompteEuros.ForeColor = &HFF0000
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxAccompteEuros <> "" Then
txtAccompteFrancs = CDbl(cbxAccompteEuros) * 6.55957
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
lblAccompteEuros.Visible = True
txtAccompteFrancs.Visible = True
End Sub
Private Sub cbxReduction_Change()
On Error Resume Next
If cbxReduction = "" Then
txtMontantRemiseEuros = ""
txtMontantRemiseFrancs = ""
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
Else
lblMontantRemiseEuros.Visible = True
lblMontantRemiseFrancs.Visible = True
txtMontantRemiseEuros.Visible = True
txtMontantRemiseFrancs.Visible = True
End If
txtMontantRemiseEuros = CDbl(txtPrixEuros) * CDbl(cbxReduction) / 100
txtMontantRemiseFrancs = CDbl(txtMontantRemiseEuros) * 6.55957
If cbxReduction <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(cbxAccompteEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(txtMontantRemiseEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtMontantRemiseFrancs)
End If
'txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
'txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
End Sub
Private Sub cbxTypeDeSoiree_Change()
Set WSDonneesPrix = Sheets("Prix")
Set PlagePrix = WSDonneesPrix.Range("B4:B" &
WSDonneesPrix.Range("D65535").End(xlUp).Row)
On Error Resume Next
D = PlagePrix.Find(What:ËxTypeDeSoiree, LookAt:=xlWhole).Row
With WSDonneesPrix
txtPrixEuros = .Range("C" & D)
End With
If cbxTypeDeSoiree = "" Then
cbxAccompteEuros = ""
cbxReduction = ""
txtPrixFrancs = ""
txtPrixEuros = ""
txtAccompteFrancs = ""
txtSoldeFrancs = ""
txtSoldeEuros = ""
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
Else
cbxAccompteEuros.Enabled = True
cbxReduction.Enabled = True
End If
lblPrixFrancs.Visible = True
txtPrixFrancs.Visible = True
End Sub
Private Sub cmdQuitter_Click()
Unload Me
End Sub
Private Sub txtAccompteFrancs_Change()
On Error Resume Next
txtAccompteFrancs = Format(txtAccompteFrancs, "##,##0.00")
End Sub
Private Sub txtMontantRemiseEuros_Change()
txtMontantRemiseEuros = Format(txtMontantRemiseEuros, "##,##0.00")
End Sub
Private Sub txtMontantRemiseFrancs_Change()
txtMontantRemiseFrancs = Format(txtMontantRemiseFrancs, "##,##0.00")
End Sub
Private Sub txtPortableDeLaMariee_Change()
PhoneFormat txtPortableDeLaMariee
End Sub
Private Sub txtPortableDuMarie_Change()
PhoneFormat txtPortableDuMarie
End Sub
Private Sub txtPrixFrancs_Change()
txtPrixFrancs = Format(txtPrixFrancs, "##,##0.00")
End Sub
Private Sub txtDateDeLaPrestation_Change()
txtDateDeLaPrestation = Application.Proper(Format(Calendar1.Value, "dddd
d
mmmm yyyy"))
End Sub
Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub
Private Sub txtSoldeFrancs_Change()
txtSoldeFrancs = Format(txtSoldeFrancs, "##,##0.00")
If txtSoldeFrancs > 0 Then
lblSoldeFrancs.ForeColor = &HFF&
lblSoldeEuros.ForeColor = &HFF&
Else
lblSoldeFrancs.ForeColor = &H80000008
lblSoldeEuros.ForeColor = &H80000008
End If
End Sub
Private Sub txtAccompteEuros_Change()
On Error Resume Next
txtAccompteEuros = Format(txtAccompteEuros, "##,##0.00")
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(txtAccompteEuros)
End Sub
Private Sub txtPrixEuros_Change()
On Error Resume Next
If txtPrixEuros <> "" Then
txtPrixFrancs = CDbl(txtPrixEuros) * 6.55957
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
Else
txtPrixEuros = ""
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = -CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = ""
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs.Value = -CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = ""
End If
End If
txtPrixEuros = Format(txtSoldeEuros, "##,##0.00")
lblAccompteFrancs.Visible = True
cbxAccompteEuros.Visible = True
lblSoldeFrancs.Visible = True
txtSoldeFrancs.Visible = True
lblPrixEuros.Visible = True
txtPrixEuros.Visible = True
lblSoldeEuros.Visible = True
txtSoldeEuros.Visible = True
End Sub
Private Sub txtSoldeEuros_Change()
On Error Resume Next
txtSoldeEuros = Format(txtSoldeEuros, "##,##0.00")
End Sub
Private Sub txtNomDuMarie_Change()
txtNomDuMarie.Value = UCase(txtNomDuMarie.Value)
End Sub
Private Sub txtPrenomDuMarie_Change()
txtPrenomDuMarie = Application.Proper(txtPrenomDuMarie)
End Sub
Private Sub txtNomDeLaMariee_Change()
txtNomDeLaMariee.Value = UCase(txtNomDeLaMariee.Value)
End Sub
Private Sub txtPrenomDeLaMariee_Change()
txtPrenomDeLaMariee = Application.Proper(txtPrenomDeLaMariee)
End Sub
Private Sub UserForm_Initialize()
Dim Ctrl As Control
'Ici je vide les Controls
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox Then
Ctrl = ""
End If
Next Ctrl
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
' Choix des Organisateurs, Nom des salles, Traiteurs, Type de soirée
Set WSDonneesPrix = Worksheets("Prix")
With WSDonneesPrix
PlageTypeDeSoirée = .Range("B4:B" &
.Range("B2000").End(xlUp).Row).Address
End With
cbxTypeDeSoiree.RowSource = "Prix!" & PlageTypeDeSoirée
' Choix de l'accompt
cbxAccompteEuros.AddItem "100,00"
cbxAccompteEuros.AddItem "200,00"
cbxAccompteEuros.AddItem "300,00"
'Réduction
cbxReduction.AddItem "10"
cbxReduction.AddItem "15"
cbxReduction.AddItem "20"
End Sub
En vous remerciant par avance, Jacques
Daniel, le groupe
Merci de m'avoir répondu :
Donc cette partie de UserForm, me sert a choisir le type de soirée, ce qui
valide un prix prédéfini (Ca cela fonctionne)
Ensuite, si le demandeur donne un accompte, cela fait bien le calcul.
Et si je décide de faire une reduction, le calcule, se fait bien aussi.
Par contre je me suis apercu, que si je m'étais trompé de type de soirée,
donc il faut que je change dans le ComboBox, et la cela ne va plus, cela
me met des chiffre qui n'on rien a voir dans les TextBox. Je ne peu donc
pas revenir en arrière , une fois, un accompte de mis et/ ou une réduction
appliquée.
Donc ce que j'aimerais c'est que même si j'ai fait un choix d'accompte
et/ou de réduction, que si je décide de changer de type de soirée, que
cela me modifie le prix et que cela recalcule l'ensemble.
Pour le second point, j'autais aimer pouvoir arréter la liste des
accomptes sans dépassé la valeur du prix partiqué.
Si par exemple le type de soirée est un mariage, le prix sera de 300 ?,
donc dans l'accompte si la liste il y avait comme choix 50, 100, 150, 200,
250, 300, 350, 400 et bien que cela s'arrète a 300 ?.
Voila, j'espère être plus claire, sinon, je peu te proposer un fichier
joint.
Merci encore, Jacques
"Daniel" a écrit dans le message de news:Bonjour.
Difficile de comprendre ce que tu veux faire avec ton userform. Peux-tu
préciser et donner un exemple de ce qui ne fonctionne pas (ce que tu
devrais obtenir et ce que tu obtiens, par exemple.
Cordialement.
Daniel
"Jacques" a écrit dans le message de news:
4365401c$0$1021$Salut a toutes et tous
Je réhitère mes soucient, car je ne sais pas si mon post c'est perdu.
Donc j'ai deux petits soucie :
Le premier :
Si je choisi un type de soirée et que je met sois un accompte, soit une
réduction ou même les deux et que je veuille modifier le type de soirée
les
calculs me donnent des valeur qui n'on rien a voir.
Y'a t'il moyen d'y remedier ?
Le deuxième :
Cela est pour la valeur de l'accomte.
Pour le moment je passe par un ComboBox.Additem, mais cela serait il
possible de faire en sorte que l'accompte ne dépasse pas la valeur du
prix
de départ.
Voice les codes :
Dans un module :
Option Explicit
Public TypeDeSoiree As Byte
Dans l'userform :
Option Explicit
Dim Plage, PlagePrix As Range
Dim A, B, C, D As Long
Dim WSDonnees, WSDonneesPrix As Worksheet
Dim PlageTypeDeSoirée As String
Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne
Numéro
Private Sub cbxAccompteEuros_Change()
On Error Resume Next
If cbxAccompteEuros.Text = "" Then
txtAccompteFrancs = ""
End If
If cbxAccompteEuros = "" Then
lblAccompteFrancs.ForeColor = &H80000008
lblAccompteEuros.ForeColor = &H80000008
Else
lblAccompteFrancs.ForeColor = &HFF0000
lblAccompteEuros.ForeColor = &HFF0000
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxAccompteEuros <> "" Then
txtAccompteFrancs = CDbl(cbxAccompteEuros) * 6.55957
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
lblAccompteEuros.Visible = True
txtAccompteFrancs.Visible = True
End Sub
Private Sub cbxReduction_Change()
On Error Resume Next
If cbxReduction = "" Then
txtMontantRemiseEuros = ""
txtMontantRemiseFrancs = ""
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
Else
lblMontantRemiseEuros.Visible = True
lblMontantRemiseFrancs.Visible = True
txtMontantRemiseEuros.Visible = True
txtMontantRemiseFrancs.Visible = True
End If
txtMontantRemiseEuros = CDbl(txtPrixEuros) * CDbl(cbxReduction) / 100
txtMontantRemiseFrancs = CDbl(txtMontantRemiseEuros) * 6.55957
If cbxReduction <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(cbxAccompteEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(txtMontantRemiseEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) -
CDbl(txtMontantRemiseFrancs)
End If
'txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
'txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
End Sub
Private Sub cbxTypeDeSoiree_Change()
Set WSDonneesPrix = Sheets("Prix")
Set PlagePrix = WSDonneesPrix.Range("B4:B" &
WSDonneesPrix.Range("D65535").End(xlUp).Row)
On Error Resume Next
D = PlagePrix.Find(What:ËxTypeDeSoiree, LookAt:=xlWhole).Row
With WSDonneesPrix
txtPrixEuros = .Range("C" & D)
End With
If cbxTypeDeSoiree = "" Then
cbxAccompteEuros = ""
cbxReduction = ""
txtPrixFrancs = ""
txtPrixEuros = ""
txtAccompteFrancs = ""
txtSoldeFrancs = ""
txtSoldeEuros = ""
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
Else
cbxAccompteEuros.Enabled = True
cbxReduction.Enabled = True
End If
lblPrixFrancs.Visible = True
txtPrixFrancs.Visible = True
End Sub
Private Sub cmdQuitter_Click()
Unload Me
End Sub
Private Sub txtAccompteFrancs_Change()
On Error Resume Next
txtAccompteFrancs = Format(txtAccompteFrancs, "##,##0.00")
End Sub
Private Sub txtMontantRemiseEuros_Change()
txtMontantRemiseEuros = Format(txtMontantRemiseEuros, "##,##0.00")
End Sub
Private Sub txtMontantRemiseFrancs_Change()
txtMontantRemiseFrancs = Format(txtMontantRemiseFrancs, "##,##0.00")
End Sub
Private Sub txtPortableDeLaMariee_Change()
PhoneFormat txtPortableDeLaMariee
End Sub
Private Sub txtPortableDuMarie_Change()
PhoneFormat txtPortableDuMarie
End Sub
Private Sub txtPrixFrancs_Change()
txtPrixFrancs = Format(txtPrixFrancs, "##,##0.00")
End Sub
Private Sub txtDateDeLaPrestation_Change()
txtDateDeLaPrestation = Application.Proper(Format(Calendar1.Value, "dddd
d
mmmm yyyy"))
End Sub
Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub
Private Sub txtSoldeFrancs_Change()
txtSoldeFrancs = Format(txtSoldeFrancs, "##,##0.00")
If txtSoldeFrancs > 0 Then
lblSoldeFrancs.ForeColor = &HFF&
lblSoldeEuros.ForeColor = &HFF&
Else
lblSoldeFrancs.ForeColor = &H80000008
lblSoldeEuros.ForeColor = &H80000008
End If
End Sub
Private Sub txtAccompteEuros_Change()
On Error Resume Next
txtAccompteEuros = Format(txtAccompteEuros, "##,##0.00")
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(txtAccompteEuros)
End Sub
Private Sub txtPrixEuros_Change()
On Error Resume Next
If txtPrixEuros <> "" Then
txtPrixFrancs = CDbl(txtPrixEuros) * 6.55957
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
Else
txtPrixEuros = ""
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = -CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = ""
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs.Value = -CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = ""
End If
End If
txtPrixEuros = Format(txtSoldeEuros, "##,##0.00")
lblAccompteFrancs.Visible = True
cbxAccompteEuros.Visible = True
lblSoldeFrancs.Visible = True
txtSoldeFrancs.Visible = True
lblPrixEuros.Visible = True
txtPrixEuros.Visible = True
lblSoldeEuros.Visible = True
txtSoldeEuros.Visible = True
End Sub
Private Sub txtSoldeEuros_Change()
On Error Resume Next
txtSoldeEuros = Format(txtSoldeEuros, "##,##0.00")
End Sub
Private Sub txtNomDuMarie_Change()
txtNomDuMarie.Value = UCase(txtNomDuMarie.Value)
End Sub
Private Sub txtPrenomDuMarie_Change()
txtPrenomDuMarie = Application.Proper(txtPrenomDuMarie)
End Sub
Private Sub txtNomDeLaMariee_Change()
txtNomDeLaMariee.Value = UCase(txtNomDeLaMariee.Value)
End Sub
Private Sub txtPrenomDeLaMariee_Change()
txtPrenomDeLaMariee = Application.Proper(txtPrenomDeLaMariee)
End Sub
Private Sub UserForm_Initialize()
Dim Ctrl As Control
'Ici je vide les Controls
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox
Then
Ctrl = ""
End If
Next Ctrl
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
' Choix des Organisateurs, Nom des salles, Traiteurs, Type de soirée
Set WSDonneesPrix = Worksheets("Prix")
With WSDonneesPrix
PlageTypeDeSoirée = .Range("B4:B" &
.Range("B2000").End(xlUp).Row).Address
End With
cbxTypeDeSoiree.RowSource = "Prix!" & PlageTypeDeSoirée
' Choix de l'accompt
cbxAccompteEuros.AddItem "100,00"
cbxAccompteEuros.AddItem "200,00"
cbxAccompteEuros.AddItem "300,00"
'Réduction
cbxReduction.AddItem "10"
cbxReduction.AddItem "15"
cbxReduction.AddItem "20"
End Sub
En vous remerciant par avance, Jacques
Daniel, le groupe
Merci de m'avoir répondu :
Donc cette partie de UserForm, me sert a choisir le type de soirée, ce qui
valide un prix prédéfini (Ca cela fonctionne)
Ensuite, si le demandeur donne un accompte, cela fait bien le calcul.
Et si je décide de faire une reduction, le calcule, se fait bien aussi.
Par contre je me suis apercu, que si je m'étais trompé de type de soirée,
donc il faut que je change dans le ComboBox, et la cela ne va plus, cela
me met des chiffre qui n'on rien a voir dans les TextBox. Je ne peu donc
pas revenir en arrière , une fois, un accompte de mis et/ ou une réduction
appliquée.
Donc ce que j'aimerais c'est que même si j'ai fait un choix d'accompte
et/ou de réduction, que si je décide de changer de type de soirée, que
cela me modifie le prix et que cela recalcule l'ensemble.
Pour le second point, j'autais aimer pouvoir arréter la liste des
accomptes sans dépassé la valeur du prix partiqué.
Si par exemple le type de soirée est un mariage, le prix sera de 300 ?,
donc dans l'accompte si la liste il y avait comme choix 50, 100, 150, 200,
250, 300, 350, 400 et bien que cela s'arrète a 300 ?.
Voila, j'espère être plus claire, sinon, je peu te proposer un fichier
joint.
Merci encore, Jacques
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
e0M3zOd3FHA.3976@TK2MSFTNGP15.phx.gbl...
Bonjour.
Difficile de comprendre ce que tu veux faire avec ton userform. Peux-tu
préciser et donner un exemple de ce qui ne fonctionne pas (ce que tu
devrais obtenir et ce que tu obtiens, par exemple.
Cordialement.
Daniel
"Jacques" <jacques-zeziola@wanadoo.fr> a écrit dans le message de news:
4365401c$0$1021$8fcfb975@news.wanadoo.fr...
Salut a toutes et tous
Je réhitère mes soucient, car je ne sais pas si mon post c'est perdu.
Donc j'ai deux petits soucie :
Le premier :
Si je choisi un type de soirée et que je met sois un accompte, soit une
réduction ou même les deux et que je veuille modifier le type de soirée
les
calculs me donnent des valeur qui n'on rien a voir.
Y'a t'il moyen d'y remedier ?
Le deuxième :
Cela est pour la valeur de l'accomte.
Pour le moment je passe par un ComboBox.Additem, mais cela serait il
possible de faire en sorte que l'accompte ne dépasse pas la valeur du
prix
de départ.
Voice les codes :
Dans un module :
Option Explicit
Public TypeDeSoiree As Byte
Dans l'userform :
Option Explicit
Dim Plage, PlagePrix As Range
Dim A, B, C, D As Long
Dim WSDonnees, WSDonneesPrix As Worksheet
Dim PlageTypeDeSoirée As String
Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne
Numéro
Private Sub cbxAccompteEuros_Change()
On Error Resume Next
If cbxAccompteEuros.Text = "" Then
txtAccompteFrancs = ""
End If
If cbxAccompteEuros = "" Then
lblAccompteFrancs.ForeColor = &H80000008
lblAccompteEuros.ForeColor = &H80000008
Else
lblAccompteFrancs.ForeColor = &HFF0000
lblAccompteEuros.ForeColor = &HFF0000
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxAccompteEuros <> "" Then
txtAccompteFrancs = CDbl(cbxAccompteEuros) * 6.55957
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
lblAccompteEuros.Visible = True
txtAccompteFrancs.Visible = True
End Sub
Private Sub cbxReduction_Change()
On Error Resume Next
If cbxReduction = "" Then
txtMontantRemiseEuros = ""
txtMontantRemiseFrancs = ""
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
Else
lblMontantRemiseEuros.Visible = True
lblMontantRemiseFrancs.Visible = True
txtMontantRemiseEuros.Visible = True
txtMontantRemiseFrancs.Visible = True
End If
txtMontantRemiseEuros = CDbl(txtPrixEuros) * CDbl(cbxReduction) / 100
txtMontantRemiseFrancs = CDbl(txtMontantRemiseEuros) * 6.55957
If cbxReduction <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(cbxAccompteEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(txtMontantRemiseEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) -
CDbl(txtMontantRemiseFrancs)
End If
'txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
'txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
End Sub
Private Sub cbxTypeDeSoiree_Change()
Set WSDonneesPrix = Sheets("Prix")
Set PlagePrix = WSDonneesPrix.Range("B4:B" &
WSDonneesPrix.Range("D65535").End(xlUp).Row)
On Error Resume Next
D = PlagePrix.Find(What:ËxTypeDeSoiree, LookAt:=xlWhole).Row
With WSDonneesPrix
txtPrixEuros = .Range("C" & D)
End With
If cbxTypeDeSoiree = "" Then
cbxAccompteEuros = ""
cbxReduction = ""
txtPrixFrancs = ""
txtPrixEuros = ""
txtAccompteFrancs = ""
txtSoldeFrancs = ""
txtSoldeEuros = ""
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
Else
cbxAccompteEuros.Enabled = True
cbxReduction.Enabled = True
End If
lblPrixFrancs.Visible = True
txtPrixFrancs.Visible = True
End Sub
Private Sub cmdQuitter_Click()
Unload Me
End Sub
Private Sub txtAccompteFrancs_Change()
On Error Resume Next
txtAccompteFrancs = Format(txtAccompteFrancs, "##,##0.00")
End Sub
Private Sub txtMontantRemiseEuros_Change()
txtMontantRemiseEuros = Format(txtMontantRemiseEuros, "##,##0.00")
End Sub
Private Sub txtMontantRemiseFrancs_Change()
txtMontantRemiseFrancs = Format(txtMontantRemiseFrancs, "##,##0.00")
End Sub
Private Sub txtPortableDeLaMariee_Change()
PhoneFormat txtPortableDeLaMariee
End Sub
Private Sub txtPortableDuMarie_Change()
PhoneFormat txtPortableDuMarie
End Sub
Private Sub txtPrixFrancs_Change()
txtPrixFrancs = Format(txtPrixFrancs, "##,##0.00")
End Sub
Private Sub txtDateDeLaPrestation_Change()
txtDateDeLaPrestation = Application.Proper(Format(Calendar1.Value, "dddd
d
mmmm yyyy"))
End Sub
Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub
Private Sub txtSoldeFrancs_Change()
txtSoldeFrancs = Format(txtSoldeFrancs, "##,##0.00")
If txtSoldeFrancs > 0 Then
lblSoldeFrancs.ForeColor = &HFF&
lblSoldeEuros.ForeColor = &HFF&
Else
lblSoldeFrancs.ForeColor = &H80000008
lblSoldeEuros.ForeColor = &H80000008
End If
End Sub
Private Sub txtAccompteEuros_Change()
On Error Resume Next
txtAccompteEuros = Format(txtAccompteEuros, "##,##0.00")
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(txtAccompteEuros)
End Sub
Private Sub txtPrixEuros_Change()
On Error Resume Next
If txtPrixEuros <> "" Then
txtPrixFrancs = CDbl(txtPrixEuros) * 6.55957
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
Else
txtPrixEuros = ""
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = -CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = ""
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs.Value = -CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = ""
End If
End If
txtPrixEuros = Format(txtSoldeEuros, "##,##0.00")
lblAccompteFrancs.Visible = True
cbxAccompteEuros.Visible = True
lblSoldeFrancs.Visible = True
txtSoldeFrancs.Visible = True
lblPrixEuros.Visible = True
txtPrixEuros.Visible = True
lblSoldeEuros.Visible = True
txtSoldeEuros.Visible = True
End Sub
Private Sub txtSoldeEuros_Change()
On Error Resume Next
txtSoldeEuros = Format(txtSoldeEuros, "##,##0.00")
End Sub
Private Sub txtNomDuMarie_Change()
txtNomDuMarie.Value = UCase(txtNomDuMarie.Value)
End Sub
Private Sub txtPrenomDuMarie_Change()
txtPrenomDuMarie = Application.Proper(txtPrenomDuMarie)
End Sub
Private Sub txtNomDeLaMariee_Change()
txtNomDeLaMariee.Value = UCase(txtNomDeLaMariee.Value)
End Sub
Private Sub txtPrenomDeLaMariee_Change()
txtPrenomDeLaMariee = Application.Proper(txtPrenomDeLaMariee)
End Sub
Private Sub UserForm_Initialize()
Dim Ctrl As Control
'Ici je vide les Controls
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox
Then
Ctrl = ""
End If
Next Ctrl
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
' Choix des Organisateurs, Nom des salles, Traiteurs, Type de soirée
Set WSDonneesPrix = Worksheets("Prix")
With WSDonneesPrix
PlageTypeDeSoirée = .Range("B4:B" &
.Range("B2000").End(xlUp).Row).Address
End With
cbxTypeDeSoiree.RowSource = "Prix!" & PlageTypeDeSoirée
' Choix de l'accompt
cbxAccompteEuros.AddItem "100,00"
cbxAccompteEuros.AddItem "200,00"
cbxAccompteEuros.AddItem "300,00"
'Réduction
cbxReduction.AddItem "10"
cbxReduction.AddItem "15"
cbxReduction.AddItem "20"
End Sub
En vous remerciant par avance, Jacques
Daniel, le groupe
Merci de m'avoir répondu :
Donc cette partie de UserForm, me sert a choisir le type de soirée, ce qui
valide un prix prédéfini (Ca cela fonctionne)
Ensuite, si le demandeur donne un accompte, cela fait bien le calcul.
Et si je décide de faire une reduction, le calcule, se fait bien aussi.
Par contre je me suis apercu, que si je m'étais trompé de type de soirée,
donc il faut que je change dans le ComboBox, et la cela ne va plus, cela
me met des chiffre qui n'on rien a voir dans les TextBox. Je ne peu donc
pas revenir en arrière , une fois, un accompte de mis et/ ou une réduction
appliquée.
Donc ce que j'aimerais c'est que même si j'ai fait un choix d'accompte
et/ou de réduction, que si je décide de changer de type de soirée, que
cela me modifie le prix et que cela recalcule l'ensemble.
Pour le second point, j'autais aimer pouvoir arréter la liste des
accomptes sans dépassé la valeur du prix partiqué.
Si par exemple le type de soirée est un mariage, le prix sera de 300 ?,
donc dans l'accompte si la liste il y avait comme choix 50, 100, 150, 200,
250, 300, 350, 400 et bien que cela s'arrète a 300 ?.
Voila, j'espère être plus claire, sinon, je peu te proposer un fichier
joint.
Merci encore, Jacques
"Daniel" a écrit dans le message de news:Bonjour.
Difficile de comprendre ce que tu veux faire avec ton userform. Peux-tu
préciser et donner un exemple de ce qui ne fonctionne pas (ce que tu
devrais obtenir et ce que tu obtiens, par exemple.
Cordialement.
Daniel
"Jacques" a écrit dans le message de news:
4365401c$0$1021$Salut a toutes et tous
Je réhitère mes soucient, car je ne sais pas si mon post c'est perdu.
Donc j'ai deux petits soucie :
Le premier :
Si je choisi un type de soirée et que je met sois un accompte, soit une
réduction ou même les deux et que je veuille modifier le type de soirée
les
calculs me donnent des valeur qui n'on rien a voir.
Y'a t'il moyen d'y remedier ?
Le deuxième :
Cela est pour la valeur de l'accomte.
Pour le moment je passe par un ComboBox.Additem, mais cela serait il
possible de faire en sorte que l'accompte ne dépasse pas la valeur du
prix
de départ.
Voice les codes :
Dans un module :
Option Explicit
Public TypeDeSoiree As Byte
Dans l'userform :
Option Explicit
Dim Plage, PlagePrix As Range
Dim A, B, C, D As Long
Dim WSDonnees, WSDonneesPrix As Worksheet
Dim PlageTypeDeSoirée As String
Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne
Numéro
Private Sub cbxAccompteEuros_Change()
On Error Resume Next
If cbxAccompteEuros.Text = "" Then
txtAccompteFrancs = ""
End If
If cbxAccompteEuros = "" Then
lblAccompteFrancs.ForeColor = &H80000008
lblAccompteEuros.ForeColor = &H80000008
Else
lblAccompteFrancs.ForeColor = &HFF0000
lblAccompteEuros.ForeColor = &HFF0000
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxAccompteEuros <> "" Then
txtAccompteFrancs = CDbl(cbxAccompteEuros) * 6.55957
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
lblAccompteEuros.Visible = True
txtAccompteFrancs.Visible = True
End Sub
Private Sub cbxReduction_Change()
On Error Resume Next
If cbxReduction = "" Then
txtMontantRemiseEuros = ""
txtMontantRemiseFrancs = ""
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
Else
lblMontantRemiseEuros.Visible = True
lblMontantRemiseFrancs.Visible = True
txtMontantRemiseEuros.Visible = True
txtMontantRemiseFrancs.Visible = True
End If
txtMontantRemiseEuros = CDbl(txtPrixEuros) * CDbl(cbxReduction) / 100
txtMontantRemiseFrancs = CDbl(txtMontantRemiseEuros) * 6.55957
If cbxReduction <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(cbxAccompteEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(txtMontantRemiseEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) -
CDbl(txtMontantRemiseFrancs)
End If
'txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
'txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
End Sub
Private Sub cbxTypeDeSoiree_Change()
Set WSDonneesPrix = Sheets("Prix")
Set PlagePrix = WSDonneesPrix.Range("B4:B" &
WSDonneesPrix.Range("D65535").End(xlUp).Row)
On Error Resume Next
D = PlagePrix.Find(What:ËxTypeDeSoiree, LookAt:=xlWhole).Row
With WSDonneesPrix
txtPrixEuros = .Range("C" & D)
End With
If cbxTypeDeSoiree = "" Then
cbxAccompteEuros = ""
cbxReduction = ""
txtPrixFrancs = ""
txtPrixEuros = ""
txtAccompteFrancs = ""
txtSoldeFrancs = ""
txtSoldeEuros = ""
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
Else
cbxAccompteEuros.Enabled = True
cbxReduction.Enabled = True
End If
lblPrixFrancs.Visible = True
txtPrixFrancs.Visible = True
End Sub
Private Sub cmdQuitter_Click()
Unload Me
End Sub
Private Sub txtAccompteFrancs_Change()
On Error Resume Next
txtAccompteFrancs = Format(txtAccompteFrancs, "##,##0.00")
End Sub
Private Sub txtMontantRemiseEuros_Change()
txtMontantRemiseEuros = Format(txtMontantRemiseEuros, "##,##0.00")
End Sub
Private Sub txtMontantRemiseFrancs_Change()
txtMontantRemiseFrancs = Format(txtMontantRemiseFrancs, "##,##0.00")
End Sub
Private Sub txtPortableDeLaMariee_Change()
PhoneFormat txtPortableDeLaMariee
End Sub
Private Sub txtPortableDuMarie_Change()
PhoneFormat txtPortableDuMarie
End Sub
Private Sub txtPrixFrancs_Change()
txtPrixFrancs = Format(txtPrixFrancs, "##,##0.00")
End Sub
Private Sub txtDateDeLaPrestation_Change()
txtDateDeLaPrestation = Application.Proper(Format(Calendar1.Value, "dddd
d
mmmm yyyy"))
End Sub
Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub
Private Sub txtSoldeFrancs_Change()
txtSoldeFrancs = Format(txtSoldeFrancs, "##,##0.00")
If txtSoldeFrancs > 0 Then
lblSoldeFrancs.ForeColor = &HFF&
lblSoldeEuros.ForeColor = &HFF&
Else
lblSoldeFrancs.ForeColor = &H80000008
lblSoldeEuros.ForeColor = &H80000008
End If
End Sub
Private Sub txtAccompteEuros_Change()
On Error Resume Next
txtAccompteEuros = Format(txtAccompteEuros, "##,##0.00")
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(txtAccompteEuros)
End Sub
Private Sub txtPrixEuros_Change()
On Error Resume Next
If txtPrixEuros <> "" Then
txtPrixFrancs = CDbl(txtPrixEuros) * 6.55957
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
Else
txtPrixEuros = ""
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = -CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = ""
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs.Value = -CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = ""
End If
End If
txtPrixEuros = Format(txtSoldeEuros, "##,##0.00")
lblAccompteFrancs.Visible = True
cbxAccompteEuros.Visible = True
lblSoldeFrancs.Visible = True
txtSoldeFrancs.Visible = True
lblPrixEuros.Visible = True
txtPrixEuros.Visible = True
lblSoldeEuros.Visible = True
txtSoldeEuros.Visible = True
End Sub
Private Sub txtSoldeEuros_Change()
On Error Resume Next
txtSoldeEuros = Format(txtSoldeEuros, "##,##0.00")
End Sub
Private Sub txtNomDuMarie_Change()
txtNomDuMarie.Value = UCase(txtNomDuMarie.Value)
End Sub
Private Sub txtPrenomDuMarie_Change()
txtPrenomDuMarie = Application.Proper(txtPrenomDuMarie)
End Sub
Private Sub txtNomDeLaMariee_Change()
txtNomDeLaMariee.Value = UCase(txtNomDeLaMariee.Value)
End Sub
Private Sub txtPrenomDeLaMariee_Change()
txtPrenomDeLaMariee = Application.Proper(txtPrenomDeLaMariee)
End Sub
Private Sub UserForm_Initialize()
Dim Ctrl As Control
'Ici je vide les Controls
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox
Then
Ctrl = ""
End If
Next Ctrl
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
' Choix des Organisateurs, Nom des salles, Traiteurs, Type de soirée
Set WSDonneesPrix = Worksheets("Prix")
With WSDonneesPrix
PlageTypeDeSoirée = .Range("B4:B" &
.Range("B2000").End(xlUp).Row).Address
End With
cbxTypeDeSoiree.RowSource = "Prix!" & PlageTypeDeSoirée
' Choix de l'accompt
cbxAccompteEuros.AddItem "100,00"
cbxAccompteEuros.AddItem "200,00"
cbxAccompteEuros.AddItem "300,00"
'Réduction
cbxReduction.AddItem "10"
cbxReduction.AddItem "15"
cbxReduction.AddItem "20"
End Sub
En vous remerciant par avance, Jacques
C'est difficile de voir comment tout ce code s'articule.
S'il ne contient rien de confidentiel, peux-tu poster ton classeur à
l'adresse :
www.cjoint.com ?
Daniel
"Jacques" a écrit dans le message de news:
4365c325$0$7860$Daniel, le groupe
Merci de m'avoir répondu :
Donc cette partie de UserForm, me sert a choisir le type de soirée, ce
qui valide un prix prédéfini (Ca cela fonctionne)
Ensuite, si le demandeur donne un accompte, cela fait bien le calcul.
Et si je décide de faire une reduction, le calcule, se fait bien aussi.
Par contre je me suis apercu, que si je m'étais trompé de type de soirée,
donc il faut que je change dans le ComboBox, et la cela ne va plus, cela
me met des chiffre qui n'on rien a voir dans les TextBox. Je ne peu donc
pas revenir en arrière , une fois, un accompte de mis et/ ou une
réduction appliquée.
Donc ce que j'aimerais c'est que même si j'ai fait un choix d'accompte
et/ou de réduction, que si je décide de changer de type de soirée, que
cela me modifie le prix et que cela recalcule l'ensemble.
Pour le second point, j'autais aimer pouvoir arréter la liste des
accomptes sans dépassé la valeur du prix partiqué.
Si par exemple le type de soirée est un mariage, le prix sera de 300 ?,
donc dans l'accompte si la liste il y avait comme choix 50, 100, 150,
200, 250, 300, 350, 400 et bien que cela s'arrète a 300 ?.
Voila, j'espère être plus claire, sinon, je peu te proposer un fichier
joint.
Merci encore, Jacques
"Daniel" a écrit dans le message de news:Bonjour.
Difficile de comprendre ce que tu veux faire avec ton userform. Peux-tu
préciser et donner un exemple de ce qui ne fonctionne pas (ce que tu
devrais obtenir et ce que tu obtiens, par exemple.
Cordialement.
Daniel
"Jacques" a écrit dans le message de news:
4365401c$0$1021$Salut a toutes et tous
Je réhitère mes soucient, car je ne sais pas si mon post c'est perdu.
Donc j'ai deux petits soucie :
Le premier :
Si je choisi un type de soirée et que je met sois un accompte, soit une
réduction ou même les deux et que je veuille modifier le type de soirée
les
calculs me donnent des valeur qui n'on rien a voir.
Y'a t'il moyen d'y remedier ?
Le deuxième :
Cela est pour la valeur de l'accomte.
Pour le moment je passe par un ComboBox.Additem, mais cela serait il
possible de faire en sorte que l'accompte ne dépasse pas la valeur du
prix
de départ.
Voice les codes :
Dans un module :
Option Explicit
Public TypeDeSoiree As Byte
Dans l'userform :
Option Explicit
Dim Plage, PlagePrix As Range
Dim A, B, C, D As Long
Dim WSDonnees, WSDonneesPrix As Worksheet
Dim PlageTypeDeSoirée As String
Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne
Numéro
Private Sub cbxAccompteEuros_Change()
On Error Resume Next
If cbxAccompteEuros.Text = "" Then
txtAccompteFrancs = ""
End If
If cbxAccompteEuros = "" Then
lblAccompteFrancs.ForeColor = &H80000008
lblAccompteEuros.ForeColor = &H80000008
Else
lblAccompteFrancs.ForeColor = &HFF0000
lblAccompteEuros.ForeColor = &HFF0000
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxAccompteEuros <> "" Then
txtAccompteFrancs = CDbl(cbxAccompteEuros) * 6.55957
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
lblAccompteEuros.Visible = True
txtAccompteFrancs.Visible = True
End Sub
Private Sub cbxReduction_Change()
On Error Resume Next
If cbxReduction = "" Then
txtMontantRemiseEuros = ""
txtMontantRemiseFrancs = ""
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
Else
lblMontantRemiseEuros.Visible = True
lblMontantRemiseFrancs.Visible = True
txtMontantRemiseEuros.Visible = True
txtMontantRemiseFrancs.Visible = True
End If
txtMontantRemiseEuros = CDbl(txtPrixEuros) * CDbl(cbxReduction) / 100
txtMontantRemiseFrancs = CDbl(txtMontantRemiseEuros) * 6.55957
If cbxReduction <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(cbxAccompteEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(txtMontantRemiseEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) -
CDbl(txtMontantRemiseFrancs)
End If
'txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
'txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
End Sub
Private Sub cbxTypeDeSoiree_Change()
Set WSDonneesPrix = Sheets("Prix")
Set PlagePrix = WSDonneesPrix.Range("B4:B" &
WSDonneesPrix.Range("D65535").End(xlUp).Row)
On Error Resume Next
D = PlagePrix.Find(What:ËxTypeDeSoiree, LookAt:=xlWhole).Row
With WSDonneesPrix
txtPrixEuros = .Range("C" & D)
End With
If cbxTypeDeSoiree = "" Then
cbxAccompteEuros = ""
cbxReduction = ""
txtPrixFrancs = ""
txtPrixEuros = ""
txtAccompteFrancs = ""
txtSoldeFrancs = ""
txtSoldeEuros = ""
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
Else
cbxAccompteEuros.Enabled = True
cbxReduction.Enabled = True
End If
lblPrixFrancs.Visible = True
txtPrixFrancs.Visible = True
End Sub
Private Sub cmdQuitter_Click()
Unload Me
End Sub
Private Sub txtAccompteFrancs_Change()
On Error Resume Next
txtAccompteFrancs = Format(txtAccompteFrancs, "##,##0.00")
End Sub
Private Sub txtMontantRemiseEuros_Change()
txtMontantRemiseEuros = Format(txtMontantRemiseEuros, "##,##0.00")
End Sub
Private Sub txtMontantRemiseFrancs_Change()
txtMontantRemiseFrancs = Format(txtMontantRemiseFrancs, "##,##0.00")
End Sub
Private Sub txtPortableDeLaMariee_Change()
PhoneFormat txtPortableDeLaMariee
End Sub
Private Sub txtPortableDuMarie_Change()
PhoneFormat txtPortableDuMarie
End Sub
Private Sub txtPrixFrancs_Change()
txtPrixFrancs = Format(txtPrixFrancs, "##,##0.00")
End Sub
Private Sub txtDateDeLaPrestation_Change()
txtDateDeLaPrestation = Application.Proper(Format(Calendar1.Value,
"dddd d
mmmm yyyy"))
End Sub
Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub
Private Sub txtSoldeFrancs_Change()
txtSoldeFrancs = Format(txtSoldeFrancs, "##,##0.00")
If txtSoldeFrancs > 0 Then
lblSoldeFrancs.ForeColor = &HFF&
lblSoldeEuros.ForeColor = &HFF&
Else
lblSoldeFrancs.ForeColor = &H80000008
lblSoldeEuros.ForeColor = &H80000008
End If
End Sub
Private Sub txtAccompteEuros_Change()
On Error Resume Next
txtAccompteEuros = Format(txtAccompteEuros, "##,##0.00")
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(txtAccompteEuros)
End Sub
Private Sub txtPrixEuros_Change()
On Error Resume Next
If txtPrixEuros <> "" Then
txtPrixFrancs = CDbl(txtPrixEuros) * 6.55957
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
Else
txtPrixEuros = ""
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = -CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = ""
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs.Value = -CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = ""
End If
End If
txtPrixEuros = Format(txtSoldeEuros, "##,##0.00")
lblAccompteFrancs.Visible = True
cbxAccompteEuros.Visible = True
lblSoldeFrancs.Visible = True
txtSoldeFrancs.Visible = True
lblPrixEuros.Visible = True
txtPrixEuros.Visible = True
lblSoldeEuros.Visible = True
txtSoldeEuros.Visible = True
End Sub
Private Sub txtSoldeEuros_Change()
On Error Resume Next
txtSoldeEuros = Format(txtSoldeEuros, "##,##0.00")
End Sub
Private Sub txtNomDuMarie_Change()
txtNomDuMarie.Value = UCase(txtNomDuMarie.Value)
End Sub
Private Sub txtPrenomDuMarie_Change()
txtPrenomDuMarie = Application.Proper(txtPrenomDuMarie)
End Sub
Private Sub txtNomDeLaMariee_Change()
txtNomDeLaMariee.Value = UCase(txtNomDeLaMariee.Value)
End Sub
Private Sub txtPrenomDeLaMariee_Change()
txtPrenomDeLaMariee = Application.Proper(txtPrenomDeLaMariee)
End Sub
Private Sub UserForm_Initialize()
Dim Ctrl As Control
'Ici je vide les Controls
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox
Then
Ctrl = ""
End If
Next Ctrl
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
' Choix des Organisateurs, Nom des salles, Traiteurs, Type de soirée
Set WSDonneesPrix = Worksheets("Prix")
With WSDonneesPrix
PlageTypeDeSoirée = .Range("B4:B" &
.Range("B2000").End(xlUp).Row).Address
End With
cbxTypeDeSoiree.RowSource = "Prix!" & PlageTypeDeSoirée
' Choix de l'accompt
cbxAccompteEuros.AddItem "100,00"
cbxAccompteEuros.AddItem "200,00"
cbxAccompteEuros.AddItem "300,00"
'Réduction
cbxReduction.AddItem "10"
cbxReduction.AddItem "15"
cbxReduction.AddItem "20"
End Sub
En vous remerciant par avance, Jacques
C'est difficile de voir comment tout ce code s'articule.
S'il ne contient rien de confidentiel, peux-tu poster ton classeur à
l'adresse :
www.cjoint.com ?
Daniel
"Jacques" <jacques-zeziola@wanadoo.fr> a écrit dans le message de news:
4365c325$0$7860$8fcfb975@news.wanadoo.fr...
Daniel, le groupe
Merci de m'avoir répondu :
Donc cette partie de UserForm, me sert a choisir le type de soirée, ce
qui valide un prix prédéfini (Ca cela fonctionne)
Ensuite, si le demandeur donne un accompte, cela fait bien le calcul.
Et si je décide de faire une reduction, le calcule, se fait bien aussi.
Par contre je me suis apercu, que si je m'étais trompé de type de soirée,
donc il faut que je change dans le ComboBox, et la cela ne va plus, cela
me met des chiffre qui n'on rien a voir dans les TextBox. Je ne peu donc
pas revenir en arrière , une fois, un accompte de mis et/ ou une
réduction appliquée.
Donc ce que j'aimerais c'est que même si j'ai fait un choix d'accompte
et/ou de réduction, que si je décide de changer de type de soirée, que
cela me modifie le prix et que cela recalcule l'ensemble.
Pour le second point, j'autais aimer pouvoir arréter la liste des
accomptes sans dépassé la valeur du prix partiqué.
Si par exemple le type de soirée est un mariage, le prix sera de 300 ?,
donc dans l'accompte si la liste il y avait comme choix 50, 100, 150,
200, 250, 300, 350, 400 et bien que cela s'arrète a 300 ?.
Voila, j'espère être plus claire, sinon, je peu te proposer un fichier
joint.
Merci encore, Jacques
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
e0M3zOd3FHA.3976@TK2MSFTNGP15.phx.gbl...
Bonjour.
Difficile de comprendre ce que tu veux faire avec ton userform. Peux-tu
préciser et donner un exemple de ce qui ne fonctionne pas (ce que tu
devrais obtenir et ce que tu obtiens, par exemple.
Cordialement.
Daniel
"Jacques" <jacques-zeziola@wanadoo.fr> a écrit dans le message de news:
4365401c$0$1021$8fcfb975@news.wanadoo.fr...
Salut a toutes et tous
Je réhitère mes soucient, car je ne sais pas si mon post c'est perdu.
Donc j'ai deux petits soucie :
Le premier :
Si je choisi un type de soirée et que je met sois un accompte, soit une
réduction ou même les deux et que je veuille modifier le type de soirée
les
calculs me donnent des valeur qui n'on rien a voir.
Y'a t'il moyen d'y remedier ?
Le deuxième :
Cela est pour la valeur de l'accomte.
Pour le moment je passe par un ComboBox.Additem, mais cela serait il
possible de faire en sorte que l'accompte ne dépasse pas la valeur du
prix
de départ.
Voice les codes :
Dans un module :
Option Explicit
Public TypeDeSoiree As Byte
Dans l'userform :
Option Explicit
Dim Plage, PlagePrix As Range
Dim A, B, C, D As Long
Dim WSDonnees, WSDonneesPrix As Worksheet
Dim PlageTypeDeSoirée As String
Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne
Numéro
Private Sub cbxAccompteEuros_Change()
On Error Resume Next
If cbxAccompteEuros.Text = "" Then
txtAccompteFrancs = ""
End If
If cbxAccompteEuros = "" Then
lblAccompteFrancs.ForeColor = &H80000008
lblAccompteEuros.ForeColor = &H80000008
Else
lblAccompteFrancs.ForeColor = &HFF0000
lblAccompteEuros.ForeColor = &HFF0000
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxAccompteEuros <> "" Then
txtAccompteFrancs = CDbl(cbxAccompteEuros) * 6.55957
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
lblAccompteEuros.Visible = True
txtAccompteFrancs.Visible = True
End Sub
Private Sub cbxReduction_Change()
On Error Resume Next
If cbxReduction = "" Then
txtMontantRemiseEuros = ""
txtMontantRemiseFrancs = ""
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
Else
lblMontantRemiseEuros.Visible = True
lblMontantRemiseFrancs.Visible = True
txtMontantRemiseEuros.Visible = True
txtMontantRemiseFrancs.Visible = True
End If
txtMontantRemiseEuros = CDbl(txtPrixEuros) * CDbl(cbxReduction) / 100
txtMontantRemiseFrancs = CDbl(txtMontantRemiseEuros) * 6.55957
If cbxReduction <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(cbxAccompteEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(txtMontantRemiseEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) -
CDbl(txtMontantRemiseFrancs)
End If
'txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
'txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
End Sub
Private Sub cbxTypeDeSoiree_Change()
Set WSDonneesPrix = Sheets("Prix")
Set PlagePrix = WSDonneesPrix.Range("B4:B" &
WSDonneesPrix.Range("D65535").End(xlUp).Row)
On Error Resume Next
D = PlagePrix.Find(What:ËxTypeDeSoiree, LookAt:=xlWhole).Row
With WSDonneesPrix
txtPrixEuros = .Range("C" & D)
End With
If cbxTypeDeSoiree = "" Then
cbxAccompteEuros = ""
cbxReduction = ""
txtPrixFrancs = ""
txtPrixEuros = ""
txtAccompteFrancs = ""
txtSoldeFrancs = ""
txtSoldeEuros = ""
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
Else
cbxAccompteEuros.Enabled = True
cbxReduction.Enabled = True
End If
lblPrixFrancs.Visible = True
txtPrixFrancs.Visible = True
End Sub
Private Sub cmdQuitter_Click()
Unload Me
End Sub
Private Sub txtAccompteFrancs_Change()
On Error Resume Next
txtAccompteFrancs = Format(txtAccompteFrancs, "##,##0.00")
End Sub
Private Sub txtMontantRemiseEuros_Change()
txtMontantRemiseEuros = Format(txtMontantRemiseEuros, "##,##0.00")
End Sub
Private Sub txtMontantRemiseFrancs_Change()
txtMontantRemiseFrancs = Format(txtMontantRemiseFrancs, "##,##0.00")
End Sub
Private Sub txtPortableDeLaMariee_Change()
PhoneFormat txtPortableDeLaMariee
End Sub
Private Sub txtPortableDuMarie_Change()
PhoneFormat txtPortableDuMarie
End Sub
Private Sub txtPrixFrancs_Change()
txtPrixFrancs = Format(txtPrixFrancs, "##,##0.00")
End Sub
Private Sub txtDateDeLaPrestation_Change()
txtDateDeLaPrestation = Application.Proper(Format(Calendar1.Value,
"dddd d
mmmm yyyy"))
End Sub
Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub
Private Sub txtSoldeFrancs_Change()
txtSoldeFrancs = Format(txtSoldeFrancs, "##,##0.00")
If txtSoldeFrancs > 0 Then
lblSoldeFrancs.ForeColor = &HFF&
lblSoldeEuros.ForeColor = &HFF&
Else
lblSoldeFrancs.ForeColor = &H80000008
lblSoldeEuros.ForeColor = &H80000008
End If
End Sub
Private Sub txtAccompteEuros_Change()
On Error Resume Next
txtAccompteEuros = Format(txtAccompteEuros, "##,##0.00")
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(txtAccompteEuros)
End Sub
Private Sub txtPrixEuros_Change()
On Error Resume Next
If txtPrixEuros <> "" Then
txtPrixFrancs = CDbl(txtPrixEuros) * 6.55957
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
Else
txtPrixEuros = ""
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = -CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = ""
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs.Value = -CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = ""
End If
End If
txtPrixEuros = Format(txtSoldeEuros, "##,##0.00")
lblAccompteFrancs.Visible = True
cbxAccompteEuros.Visible = True
lblSoldeFrancs.Visible = True
txtSoldeFrancs.Visible = True
lblPrixEuros.Visible = True
txtPrixEuros.Visible = True
lblSoldeEuros.Visible = True
txtSoldeEuros.Visible = True
End Sub
Private Sub txtSoldeEuros_Change()
On Error Resume Next
txtSoldeEuros = Format(txtSoldeEuros, "##,##0.00")
End Sub
Private Sub txtNomDuMarie_Change()
txtNomDuMarie.Value = UCase(txtNomDuMarie.Value)
End Sub
Private Sub txtPrenomDuMarie_Change()
txtPrenomDuMarie = Application.Proper(txtPrenomDuMarie)
End Sub
Private Sub txtNomDeLaMariee_Change()
txtNomDeLaMariee.Value = UCase(txtNomDeLaMariee.Value)
End Sub
Private Sub txtPrenomDeLaMariee_Change()
txtPrenomDeLaMariee = Application.Proper(txtPrenomDeLaMariee)
End Sub
Private Sub UserForm_Initialize()
Dim Ctrl As Control
'Ici je vide les Controls
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox
Then
Ctrl = ""
End If
Next Ctrl
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
' Choix des Organisateurs, Nom des salles, Traiteurs, Type de soirée
Set WSDonneesPrix = Worksheets("Prix")
With WSDonneesPrix
PlageTypeDeSoirée = .Range("B4:B" &
.Range("B2000").End(xlUp).Row).Address
End With
cbxTypeDeSoiree.RowSource = "Prix!" & PlageTypeDeSoirée
' Choix de l'accompt
cbxAccompteEuros.AddItem "100,00"
cbxAccompteEuros.AddItem "200,00"
cbxAccompteEuros.AddItem "300,00"
'Réduction
cbxReduction.AddItem "10"
cbxReduction.AddItem "15"
cbxReduction.AddItem "20"
End Sub
En vous remerciant par avance, Jacques
C'est difficile de voir comment tout ce code s'articule.
S'il ne contient rien de confidentiel, peux-tu poster ton classeur à
l'adresse :
www.cjoint.com ?
Daniel
"Jacques" a écrit dans le message de news:
4365c325$0$7860$Daniel, le groupe
Merci de m'avoir répondu :
Donc cette partie de UserForm, me sert a choisir le type de soirée, ce
qui valide un prix prédéfini (Ca cela fonctionne)
Ensuite, si le demandeur donne un accompte, cela fait bien le calcul.
Et si je décide de faire une reduction, le calcule, se fait bien aussi.
Par contre je me suis apercu, que si je m'étais trompé de type de soirée,
donc il faut que je change dans le ComboBox, et la cela ne va plus, cela
me met des chiffre qui n'on rien a voir dans les TextBox. Je ne peu donc
pas revenir en arrière , une fois, un accompte de mis et/ ou une
réduction appliquée.
Donc ce que j'aimerais c'est que même si j'ai fait un choix d'accompte
et/ou de réduction, que si je décide de changer de type de soirée, que
cela me modifie le prix et que cela recalcule l'ensemble.
Pour le second point, j'autais aimer pouvoir arréter la liste des
accomptes sans dépassé la valeur du prix partiqué.
Si par exemple le type de soirée est un mariage, le prix sera de 300 ?,
donc dans l'accompte si la liste il y avait comme choix 50, 100, 150,
200, 250, 300, 350, 400 et bien que cela s'arrète a 300 ?.
Voila, j'espère être plus claire, sinon, je peu te proposer un fichier
joint.
Merci encore, Jacques
"Daniel" a écrit dans le message de news:Bonjour.
Difficile de comprendre ce que tu veux faire avec ton userform. Peux-tu
préciser et donner un exemple de ce qui ne fonctionne pas (ce que tu
devrais obtenir et ce que tu obtiens, par exemple.
Cordialement.
Daniel
"Jacques" a écrit dans le message de news:
4365401c$0$1021$Salut a toutes et tous
Je réhitère mes soucient, car je ne sais pas si mon post c'est perdu.
Donc j'ai deux petits soucie :
Le premier :
Si je choisi un type de soirée et que je met sois un accompte, soit une
réduction ou même les deux et que je veuille modifier le type de soirée
les
calculs me donnent des valeur qui n'on rien a voir.
Y'a t'il moyen d'y remedier ?
Le deuxième :
Cela est pour la valeur de l'accomte.
Pour le moment je passe par un ComboBox.Additem, mais cela serait il
possible de faire en sorte que l'accompte ne dépasse pas la valeur du
prix
de départ.
Voice les codes :
Dans un module :
Option Explicit
Public TypeDeSoiree As Byte
Dans l'userform :
Option Explicit
Dim Plage, PlagePrix As Range
Dim A, B, C, D As Long
Dim WSDonnees, WSDonneesPrix As Worksheet
Dim PlageTypeDeSoirée As String
Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne
Numéro
Private Sub cbxAccompteEuros_Change()
On Error Resume Next
If cbxAccompteEuros.Text = "" Then
txtAccompteFrancs = ""
End If
If cbxAccompteEuros = "" Then
lblAccompteFrancs.ForeColor = &H80000008
lblAccompteEuros.ForeColor = &H80000008
Else
lblAccompteFrancs.ForeColor = &HFF0000
lblAccompteEuros.ForeColor = &HFF0000
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxAccompteEuros <> "" Then
txtAccompteFrancs = CDbl(cbxAccompteEuros) * 6.55957
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
lblAccompteEuros.Visible = True
txtAccompteFrancs.Visible = True
End Sub
Private Sub cbxReduction_Change()
On Error Resume Next
If cbxReduction = "" Then
txtMontantRemiseEuros = ""
txtMontantRemiseFrancs = ""
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
Else
lblMontantRemiseEuros.Visible = True
lblMontantRemiseFrancs.Visible = True
txtMontantRemiseEuros.Visible = True
txtMontantRemiseFrancs.Visible = True
End If
txtMontantRemiseEuros = CDbl(txtPrixEuros) * CDbl(cbxReduction) / 100
txtMontantRemiseFrancs = CDbl(txtMontantRemiseEuros) * 6.55957
If cbxReduction <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(cbxAccompteEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(txtMontantRemiseEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) -
CDbl(txtMontantRemiseFrancs)
End If
'txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
'txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
End Sub
Private Sub cbxTypeDeSoiree_Change()
Set WSDonneesPrix = Sheets("Prix")
Set PlagePrix = WSDonneesPrix.Range("B4:B" &
WSDonneesPrix.Range("D65535").End(xlUp).Row)
On Error Resume Next
D = PlagePrix.Find(What:ËxTypeDeSoiree, LookAt:=xlWhole).Row
With WSDonneesPrix
txtPrixEuros = .Range("C" & D)
End With
If cbxTypeDeSoiree = "" Then
cbxAccompteEuros = ""
cbxReduction = ""
txtPrixFrancs = ""
txtPrixEuros = ""
txtAccompteFrancs = ""
txtSoldeFrancs = ""
txtSoldeEuros = ""
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
Else
cbxAccompteEuros.Enabled = True
cbxReduction.Enabled = True
End If
lblPrixFrancs.Visible = True
txtPrixFrancs.Visible = True
End Sub
Private Sub cmdQuitter_Click()
Unload Me
End Sub
Private Sub txtAccompteFrancs_Change()
On Error Resume Next
txtAccompteFrancs = Format(txtAccompteFrancs, "##,##0.00")
End Sub
Private Sub txtMontantRemiseEuros_Change()
txtMontantRemiseEuros = Format(txtMontantRemiseEuros, "##,##0.00")
End Sub
Private Sub txtMontantRemiseFrancs_Change()
txtMontantRemiseFrancs = Format(txtMontantRemiseFrancs, "##,##0.00")
End Sub
Private Sub txtPortableDeLaMariee_Change()
PhoneFormat txtPortableDeLaMariee
End Sub
Private Sub txtPortableDuMarie_Change()
PhoneFormat txtPortableDuMarie
End Sub
Private Sub txtPrixFrancs_Change()
txtPrixFrancs = Format(txtPrixFrancs, "##,##0.00")
End Sub
Private Sub txtDateDeLaPrestation_Change()
txtDateDeLaPrestation = Application.Proper(Format(Calendar1.Value,
"dddd d
mmmm yyyy"))
End Sub
Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub
Private Sub txtSoldeFrancs_Change()
txtSoldeFrancs = Format(txtSoldeFrancs, "##,##0.00")
If txtSoldeFrancs > 0 Then
lblSoldeFrancs.ForeColor = &HFF&
lblSoldeEuros.ForeColor = &HFF&
Else
lblSoldeFrancs.ForeColor = &H80000008
lblSoldeEuros.ForeColor = &H80000008
End If
End Sub
Private Sub txtAccompteEuros_Change()
On Error Resume Next
txtAccompteEuros = Format(txtAccompteEuros, "##,##0.00")
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(txtAccompteEuros)
End Sub
Private Sub txtPrixEuros_Change()
On Error Resume Next
If txtPrixEuros <> "" Then
txtPrixFrancs = CDbl(txtPrixEuros) * 6.55957
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
Else
txtPrixEuros = ""
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = -CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = ""
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs.Value = -CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = ""
End If
End If
txtPrixEuros = Format(txtSoldeEuros, "##,##0.00")
lblAccompteFrancs.Visible = True
cbxAccompteEuros.Visible = True
lblSoldeFrancs.Visible = True
txtSoldeFrancs.Visible = True
lblPrixEuros.Visible = True
txtPrixEuros.Visible = True
lblSoldeEuros.Visible = True
txtSoldeEuros.Visible = True
End Sub
Private Sub txtSoldeEuros_Change()
On Error Resume Next
txtSoldeEuros = Format(txtSoldeEuros, "##,##0.00")
End Sub
Private Sub txtNomDuMarie_Change()
txtNomDuMarie.Value = UCase(txtNomDuMarie.Value)
End Sub
Private Sub txtPrenomDuMarie_Change()
txtPrenomDuMarie = Application.Proper(txtPrenomDuMarie)
End Sub
Private Sub txtNomDeLaMariee_Change()
txtNomDeLaMariee.Value = UCase(txtNomDeLaMariee.Value)
End Sub
Private Sub txtPrenomDeLaMariee_Change()
txtPrenomDeLaMariee = Application.Proper(txtPrenomDeLaMariee)
End Sub
Private Sub UserForm_Initialize()
Dim Ctrl As Control
'Ici je vide les Controls
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox
Then
Ctrl = ""
End If
Next Ctrl
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
' Choix des Organisateurs, Nom des salles, Traiteurs, Type de soirée
Set WSDonneesPrix = Worksheets("Prix")
With WSDonneesPrix
PlageTypeDeSoirée = .Range("B4:B" &
.Range("B2000").End(xlUp).Row).Address
End With
cbxTypeDeSoiree.RowSource = "Prix!" & PlageTypeDeSoirée
' Choix de l'accompt
cbxAccompteEuros.AddItem "100,00"
cbxAccompteEuros.AddItem "200,00"
cbxAccompteEuros.AddItem "300,00"
'Réduction
cbxReduction.AddItem "10"
cbxReduction.AddItem "15"
cbxReduction.AddItem "20"
End Sub
En vous remerciant par avance, Jacques
C'est difficile de voir comment tout ce code s'articule.
S'il ne contient rien de confidentiel, peux-tu poster ton classeur à
l'adresse :
www.cjoint.com ?
Daniel
"Jacques" a écrit dans le message de news:
4365c325$0$7860$Daniel, le groupe
Merci de m'avoir répondu :
Donc cette partie de UserForm, me sert a choisir le type de soirée, ce
qui valide un prix prédéfini (Ca cela fonctionne)
Ensuite, si le demandeur donne un accompte, cela fait bien le calcul.
Et si je décide de faire une reduction, le calcule, se fait bien aussi.
Par contre je me suis apercu, que si je m'étais trompé de type de soirée,
donc il faut que je change dans le ComboBox, et la cela ne va plus, cela
me met des chiffre qui n'on rien a voir dans les TextBox. Je ne peu donc
pas revenir en arrière , une fois, un accompte de mis et/ ou une
réduction appliquée.
Donc ce que j'aimerais c'est que même si j'ai fait un choix d'accompte
et/ou de réduction, que si je décide de changer de type de soirée, que
cela me modifie le prix et que cela recalcule l'ensemble.
Pour le second point, j'autais aimer pouvoir arréter la liste des
accomptes sans dépassé la valeur du prix partiqué.
Si par exemple le type de soirée est un mariage, le prix sera de 300 ?,
donc dans l'accompte si la liste il y avait comme choix 50, 100, 150,
200, 250, 300, 350, 400 et bien que cela s'arrète a 300 ?.
Voila, j'espère être plus claire, sinon, je peu te proposer un fichier
joint.
Merci encore, Jacques
"Daniel" a écrit dans le message de news:Bonjour.
Difficile de comprendre ce que tu veux faire avec ton userform. Peux-tu
préciser et donner un exemple de ce qui ne fonctionne pas (ce que tu
devrais obtenir et ce que tu obtiens, par exemple.
Cordialement.
Daniel
"Jacques" a écrit dans le message de news:
4365401c$0$1021$Salut a toutes et tous
Je réhitère mes soucient, car je ne sais pas si mon post c'est perdu.
Donc j'ai deux petits soucie :
Le premier :
Si je choisi un type de soirée et que je met sois un accompte, soit une
réduction ou même les deux et que je veuille modifier le type de soirée
les
calculs me donnent des valeur qui n'on rien a voir.
Y'a t'il moyen d'y remedier ?
Le deuxième :
Cela est pour la valeur de l'accomte.
Pour le moment je passe par un ComboBox.Additem, mais cela serait il
possible de faire en sorte que l'accompte ne dépasse pas la valeur du
prix
de départ.
Voice les codes :
Dans un module :
Option Explicit
Public TypeDeSoiree As Byte
Dans l'userform :
Option Explicit
Dim Plage, PlagePrix As Range
Dim A, B, C, D As Long
Dim WSDonnees, WSDonneesPrix As Worksheet
Dim PlageTypeDeSoirée As String
Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne
Numéro
Private Sub cbxAccompteEuros_Change()
On Error Resume Next
If cbxAccompteEuros.Text = "" Then
txtAccompteFrancs = ""
End If
If cbxAccompteEuros = "" Then
lblAccompteFrancs.ForeColor = &H80000008
lblAccompteEuros.ForeColor = &H80000008
Else
lblAccompteFrancs.ForeColor = &HFF0000
lblAccompteEuros.ForeColor = &HFF0000
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxAccompteEuros <> "" Then
txtAccompteFrancs = CDbl(cbxAccompteEuros) * 6.55957
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
lblAccompteEuros.Visible = True
txtAccompteFrancs.Visible = True
End Sub
Private Sub cbxReduction_Change()
On Error Resume Next
If cbxReduction = "" Then
txtMontantRemiseEuros = ""
txtMontantRemiseFrancs = ""
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
Else
lblMontantRemiseEuros.Visible = True
lblMontantRemiseFrancs.Visible = True
txtMontantRemiseEuros.Visible = True
txtMontantRemiseFrancs.Visible = True
End If
txtMontantRemiseEuros = CDbl(txtPrixEuros) * CDbl(cbxReduction) / 100
txtMontantRemiseFrancs = CDbl(txtMontantRemiseEuros) * 6.55957
If cbxReduction <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(cbxAccompteEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(txtMontantRemiseEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) -
CDbl(txtMontantRemiseFrancs)
End If
'txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
'txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
End Sub
Private Sub cbxTypeDeSoiree_Change()
Set WSDonneesPrix = Sheets("Prix")
Set PlagePrix = WSDonneesPrix.Range("B4:B" &
WSDonneesPrix.Range("D65535").End(xlUp).Row)
On Error Resume Next
D = PlagePrix.Find(What:ËxTypeDeSoiree, LookAt:=xlWhole).Row
With WSDonneesPrix
txtPrixEuros = .Range("C" & D)
End With
If cbxTypeDeSoiree = "" Then
cbxAccompteEuros = ""
cbxReduction = ""
txtPrixFrancs = ""
txtPrixEuros = ""
txtAccompteFrancs = ""
txtSoldeFrancs = ""
txtSoldeEuros = ""
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
Else
cbxAccompteEuros.Enabled = True
cbxReduction.Enabled = True
End If
lblPrixFrancs.Visible = True
txtPrixFrancs.Visible = True
End Sub
Private Sub cmdQuitter_Click()
Unload Me
End Sub
Private Sub txtAccompteFrancs_Change()
On Error Resume Next
txtAccompteFrancs = Format(txtAccompteFrancs, "##,##0.00")
End Sub
Private Sub txtMontantRemiseEuros_Change()
txtMontantRemiseEuros = Format(txtMontantRemiseEuros, "##,##0.00")
End Sub
Private Sub txtMontantRemiseFrancs_Change()
txtMontantRemiseFrancs = Format(txtMontantRemiseFrancs, "##,##0.00")
End Sub
Private Sub txtPortableDeLaMariee_Change()
PhoneFormat txtPortableDeLaMariee
End Sub
Private Sub txtPortableDuMarie_Change()
PhoneFormat txtPortableDuMarie
End Sub
Private Sub txtPrixFrancs_Change()
txtPrixFrancs = Format(txtPrixFrancs, "##,##0.00")
End Sub
Private Sub txtDateDeLaPrestation_Change()
txtDateDeLaPrestation = Application.Proper(Format(Calendar1.Value,
"dddd d
mmmm yyyy"))
End Sub
Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub
Private Sub txtSoldeFrancs_Change()
txtSoldeFrancs = Format(txtSoldeFrancs, "##,##0.00")
If txtSoldeFrancs > 0 Then
lblSoldeFrancs.ForeColor = &HFF&
lblSoldeEuros.ForeColor = &HFF&
Else
lblSoldeFrancs.ForeColor = &H80000008
lblSoldeEuros.ForeColor = &H80000008
End If
End Sub
Private Sub txtAccompteEuros_Change()
On Error Resume Next
txtAccompteEuros = Format(txtAccompteEuros, "##,##0.00")
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(txtAccompteEuros)
End Sub
Private Sub txtPrixEuros_Change()
On Error Resume Next
If txtPrixEuros <> "" Then
txtPrixFrancs = CDbl(txtPrixEuros) * 6.55957
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
Else
txtPrixEuros = ""
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = -CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = ""
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs.Value = -CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = ""
End If
End If
txtPrixEuros = Format(txtSoldeEuros, "##,##0.00")
lblAccompteFrancs.Visible = True
cbxAccompteEuros.Visible = True
lblSoldeFrancs.Visible = True
txtSoldeFrancs.Visible = True
lblPrixEuros.Visible = True
txtPrixEuros.Visible = True
lblSoldeEuros.Visible = True
txtSoldeEuros.Visible = True
End Sub
Private Sub txtSoldeEuros_Change()
On Error Resume Next
txtSoldeEuros = Format(txtSoldeEuros, "##,##0.00")
End Sub
Private Sub txtNomDuMarie_Change()
txtNomDuMarie.Value = UCase(txtNomDuMarie.Value)
End Sub
Private Sub txtPrenomDuMarie_Change()
txtPrenomDuMarie = Application.Proper(txtPrenomDuMarie)
End Sub
Private Sub txtNomDeLaMariee_Change()
txtNomDeLaMariee.Value = UCase(txtNomDeLaMariee.Value)
End Sub
Private Sub txtPrenomDeLaMariee_Change()
txtPrenomDeLaMariee = Application.Proper(txtPrenomDeLaMariee)
End Sub
Private Sub UserForm_Initialize()
Dim Ctrl As Control
'Ici je vide les Controls
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox
Then
Ctrl = ""
End If
Next Ctrl
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
' Choix des Organisateurs, Nom des salles, Traiteurs, Type de soirée
Set WSDonneesPrix = Worksheets("Prix")
With WSDonneesPrix
PlageTypeDeSoirée = .Range("B4:B" &
.Range("B2000").End(xlUp).Row).Address
End With
cbxTypeDeSoiree.RowSource = "Prix!" & PlageTypeDeSoirée
' Choix de l'accompt
cbxAccompteEuros.AddItem "100,00"
cbxAccompteEuros.AddItem "200,00"
cbxAccompteEuros.AddItem "300,00"
'Réduction
cbxReduction.AddItem "10"
cbxReduction.AddItem "15"
cbxReduction.AddItem "20"
End Sub
En vous remerciant par avance, Jacques
C'est difficile de voir comment tout ce code s'articule.
S'il ne contient rien de confidentiel, peux-tu poster ton classeur à
l'adresse :
www.cjoint.com ?
Daniel
"Jacques" <jacques-zeziola@wanadoo.fr> a écrit dans le message de news:
4365c325$0$7860$8fcfb975@news.wanadoo.fr...
Daniel, le groupe
Merci de m'avoir répondu :
Donc cette partie de UserForm, me sert a choisir le type de soirée, ce
qui valide un prix prédéfini (Ca cela fonctionne)
Ensuite, si le demandeur donne un accompte, cela fait bien le calcul.
Et si je décide de faire une reduction, le calcule, se fait bien aussi.
Par contre je me suis apercu, que si je m'étais trompé de type de soirée,
donc il faut que je change dans le ComboBox, et la cela ne va plus, cela
me met des chiffre qui n'on rien a voir dans les TextBox. Je ne peu donc
pas revenir en arrière , une fois, un accompte de mis et/ ou une
réduction appliquée.
Donc ce que j'aimerais c'est que même si j'ai fait un choix d'accompte
et/ou de réduction, que si je décide de changer de type de soirée, que
cela me modifie le prix et que cela recalcule l'ensemble.
Pour le second point, j'autais aimer pouvoir arréter la liste des
accomptes sans dépassé la valeur du prix partiqué.
Si par exemple le type de soirée est un mariage, le prix sera de 300 ?,
donc dans l'accompte si la liste il y avait comme choix 50, 100, 150,
200, 250, 300, 350, 400 et bien que cela s'arrète a 300 ?.
Voila, j'espère être plus claire, sinon, je peu te proposer un fichier
joint.
Merci encore, Jacques
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
e0M3zOd3FHA.3976@TK2MSFTNGP15.phx.gbl...
Bonjour.
Difficile de comprendre ce que tu veux faire avec ton userform. Peux-tu
préciser et donner un exemple de ce qui ne fonctionne pas (ce que tu
devrais obtenir et ce que tu obtiens, par exemple.
Cordialement.
Daniel
"Jacques" <jacques-zeziola@wanadoo.fr> a écrit dans le message de news:
4365401c$0$1021$8fcfb975@news.wanadoo.fr...
Salut a toutes et tous
Je réhitère mes soucient, car je ne sais pas si mon post c'est perdu.
Donc j'ai deux petits soucie :
Le premier :
Si je choisi un type de soirée et que je met sois un accompte, soit une
réduction ou même les deux et que je veuille modifier le type de soirée
les
calculs me donnent des valeur qui n'on rien a voir.
Y'a t'il moyen d'y remedier ?
Le deuxième :
Cela est pour la valeur de l'accomte.
Pour le moment je passe par un ComboBox.Additem, mais cela serait il
possible de faire en sorte que l'accompte ne dépasse pas la valeur du
prix
de départ.
Voice les codes :
Dans un module :
Option Explicit
Public TypeDeSoiree As Byte
Dans l'userform :
Option Explicit
Dim Plage, PlagePrix As Range
Dim A, B, C, D As Long
Dim WSDonnees, WSDonneesPrix As Worksheet
Dim PlageTypeDeSoirée As String
Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne
Numéro
Private Sub cbxAccompteEuros_Change()
On Error Resume Next
If cbxAccompteEuros.Text = "" Then
txtAccompteFrancs = ""
End If
If cbxAccompteEuros = "" Then
lblAccompteFrancs.ForeColor = &H80000008
lblAccompteEuros.ForeColor = &H80000008
Else
lblAccompteFrancs.ForeColor = &HFF0000
lblAccompteEuros.ForeColor = &HFF0000
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxAccompteEuros <> "" Then
txtAccompteFrancs = CDbl(cbxAccompteEuros) * 6.55957
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
lblAccompteEuros.Visible = True
txtAccompteFrancs.Visible = True
End Sub
Private Sub cbxReduction_Change()
On Error Resume Next
If cbxReduction = "" Then
txtMontantRemiseEuros = ""
txtMontantRemiseFrancs = ""
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
Else
lblMontantRemiseEuros.Visible = True
lblMontantRemiseFrancs.Visible = True
txtMontantRemiseEuros.Visible = True
txtMontantRemiseFrancs.Visible = True
End If
txtMontantRemiseEuros = CDbl(txtPrixEuros) * CDbl(cbxReduction) / 100
txtMontantRemiseFrancs = CDbl(txtMontantRemiseEuros) * 6.55957
If cbxReduction <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(cbxAccompteEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(txtMontantRemiseEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) -
CDbl(txtMontantRemiseFrancs)
End If
'txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
'txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
End Sub
Private Sub cbxTypeDeSoiree_Change()
Set WSDonneesPrix = Sheets("Prix")
Set PlagePrix = WSDonneesPrix.Range("B4:B" &
WSDonneesPrix.Range("D65535").End(xlUp).Row)
On Error Resume Next
D = PlagePrix.Find(What:ËxTypeDeSoiree, LookAt:=xlWhole).Row
With WSDonneesPrix
txtPrixEuros = .Range("C" & D)
End With
If cbxTypeDeSoiree = "" Then
cbxAccompteEuros = ""
cbxReduction = ""
txtPrixFrancs = ""
txtPrixEuros = ""
txtAccompteFrancs = ""
txtSoldeFrancs = ""
txtSoldeEuros = ""
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
Else
cbxAccompteEuros.Enabled = True
cbxReduction.Enabled = True
End If
lblPrixFrancs.Visible = True
txtPrixFrancs.Visible = True
End Sub
Private Sub cmdQuitter_Click()
Unload Me
End Sub
Private Sub txtAccompteFrancs_Change()
On Error Resume Next
txtAccompteFrancs = Format(txtAccompteFrancs, "##,##0.00")
End Sub
Private Sub txtMontantRemiseEuros_Change()
txtMontantRemiseEuros = Format(txtMontantRemiseEuros, "##,##0.00")
End Sub
Private Sub txtMontantRemiseFrancs_Change()
txtMontantRemiseFrancs = Format(txtMontantRemiseFrancs, "##,##0.00")
End Sub
Private Sub txtPortableDeLaMariee_Change()
PhoneFormat txtPortableDeLaMariee
End Sub
Private Sub txtPortableDuMarie_Change()
PhoneFormat txtPortableDuMarie
End Sub
Private Sub txtPrixFrancs_Change()
txtPrixFrancs = Format(txtPrixFrancs, "##,##0.00")
End Sub
Private Sub txtDateDeLaPrestation_Change()
txtDateDeLaPrestation = Application.Proper(Format(Calendar1.Value,
"dddd d
mmmm yyyy"))
End Sub
Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub
Private Sub txtSoldeFrancs_Change()
txtSoldeFrancs = Format(txtSoldeFrancs, "##,##0.00")
If txtSoldeFrancs > 0 Then
lblSoldeFrancs.ForeColor = &HFF&
lblSoldeEuros.ForeColor = &HFF&
Else
lblSoldeFrancs.ForeColor = &H80000008
lblSoldeEuros.ForeColor = &H80000008
End If
End Sub
Private Sub txtAccompteEuros_Change()
On Error Resume Next
txtAccompteEuros = Format(txtAccompteEuros, "##,##0.00")
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(txtAccompteEuros)
End Sub
Private Sub txtPrixEuros_Change()
On Error Resume Next
If txtPrixEuros <> "" Then
txtPrixFrancs = CDbl(txtPrixEuros) * 6.55957
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
Else
txtPrixEuros = ""
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = -CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = ""
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs.Value = -CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = ""
End If
End If
txtPrixEuros = Format(txtSoldeEuros, "##,##0.00")
lblAccompteFrancs.Visible = True
cbxAccompteEuros.Visible = True
lblSoldeFrancs.Visible = True
txtSoldeFrancs.Visible = True
lblPrixEuros.Visible = True
txtPrixEuros.Visible = True
lblSoldeEuros.Visible = True
txtSoldeEuros.Visible = True
End Sub
Private Sub txtSoldeEuros_Change()
On Error Resume Next
txtSoldeEuros = Format(txtSoldeEuros, "##,##0.00")
End Sub
Private Sub txtNomDuMarie_Change()
txtNomDuMarie.Value = UCase(txtNomDuMarie.Value)
End Sub
Private Sub txtPrenomDuMarie_Change()
txtPrenomDuMarie = Application.Proper(txtPrenomDuMarie)
End Sub
Private Sub txtNomDeLaMariee_Change()
txtNomDeLaMariee.Value = UCase(txtNomDeLaMariee.Value)
End Sub
Private Sub txtPrenomDeLaMariee_Change()
txtPrenomDeLaMariee = Application.Proper(txtPrenomDeLaMariee)
End Sub
Private Sub UserForm_Initialize()
Dim Ctrl As Control
'Ici je vide les Controls
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox
Then
Ctrl = ""
End If
Next Ctrl
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
' Choix des Organisateurs, Nom des salles, Traiteurs, Type de soirée
Set WSDonneesPrix = Worksheets("Prix")
With WSDonneesPrix
PlageTypeDeSoirée = .Range("B4:B" &
.Range("B2000").End(xlUp).Row).Address
End With
cbxTypeDeSoiree.RowSource = "Prix!" & PlageTypeDeSoirée
' Choix de l'accompt
cbxAccompteEuros.AddItem "100,00"
cbxAccompteEuros.AddItem "200,00"
cbxAccompteEuros.AddItem "300,00"
'Réduction
cbxReduction.AddItem "10"
cbxReduction.AddItem "15"
cbxReduction.AddItem "20"
End Sub
En vous remerciant par avance, Jacques
C'est difficile de voir comment tout ce code s'articule.
S'il ne contient rien de confidentiel, peux-tu poster ton classeur à
l'adresse :
www.cjoint.com ?
Daniel
"Jacques" a écrit dans le message de news:
4365c325$0$7860$Daniel, le groupe
Merci de m'avoir répondu :
Donc cette partie de UserForm, me sert a choisir le type de soirée, ce
qui valide un prix prédéfini (Ca cela fonctionne)
Ensuite, si le demandeur donne un accompte, cela fait bien le calcul.
Et si je décide de faire une reduction, le calcule, se fait bien aussi.
Par contre je me suis apercu, que si je m'étais trompé de type de soirée,
donc il faut que je change dans le ComboBox, et la cela ne va plus, cela
me met des chiffre qui n'on rien a voir dans les TextBox. Je ne peu donc
pas revenir en arrière , une fois, un accompte de mis et/ ou une
réduction appliquée.
Donc ce que j'aimerais c'est que même si j'ai fait un choix d'accompte
et/ou de réduction, que si je décide de changer de type de soirée, que
cela me modifie le prix et que cela recalcule l'ensemble.
Pour le second point, j'autais aimer pouvoir arréter la liste des
accomptes sans dépassé la valeur du prix partiqué.
Si par exemple le type de soirée est un mariage, le prix sera de 300 ?,
donc dans l'accompte si la liste il y avait comme choix 50, 100, 150,
200, 250, 300, 350, 400 et bien que cela s'arrète a 300 ?.
Voila, j'espère être plus claire, sinon, je peu te proposer un fichier
joint.
Merci encore, Jacques
"Daniel" a écrit dans le message de news:Bonjour.
Difficile de comprendre ce que tu veux faire avec ton userform. Peux-tu
préciser et donner un exemple de ce qui ne fonctionne pas (ce que tu
devrais obtenir et ce que tu obtiens, par exemple.
Cordialement.
Daniel
"Jacques" a écrit dans le message de news:
4365401c$0$1021$Salut a toutes et tous
Je réhitère mes soucient, car je ne sais pas si mon post c'est perdu.
Donc j'ai deux petits soucie :
Le premier :
Si je choisi un type de soirée et que je met sois un accompte, soit une
réduction ou même les deux et que je veuille modifier le type de soirée
les
calculs me donnent des valeur qui n'on rien a voir.
Y'a t'il moyen d'y remedier ?
Le deuxième :
Cela est pour la valeur de l'accomte.
Pour le moment je passe par un ComboBox.Additem, mais cela serait il
possible de faire en sorte que l'accompte ne dépasse pas la valeur du
prix
de départ.
Voice les codes :
Dans un module :
Option Explicit
Public TypeDeSoiree As Byte
Dans l'userform :
Option Explicit
Dim Plage, PlagePrix As Range
Dim A, B, C, D As Long
Dim WSDonnees, WSDonneesPrix As Worksheet
Dim PlageTypeDeSoirée As String
Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne
Numéro
Private Sub cbxAccompteEuros_Change()
On Error Resume Next
If cbxAccompteEuros.Text = "" Then
txtAccompteFrancs = ""
End If
If cbxAccompteEuros = "" Then
lblAccompteFrancs.ForeColor = &H80000008
lblAccompteEuros.ForeColor = &H80000008
Else
lblAccompteFrancs.ForeColor = &HFF0000
lblAccompteEuros.ForeColor = &HFF0000
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxAccompteEuros <> "" Then
txtAccompteFrancs = CDbl(cbxAccompteEuros) * 6.55957
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
lblAccompteEuros.Visible = True
txtAccompteFrancs.Visible = True
End Sub
Private Sub cbxReduction_Change()
On Error Resume Next
If cbxReduction = "" Then
txtMontantRemiseEuros = ""
txtMontantRemiseFrancs = ""
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
Else
lblMontantRemiseEuros.Visible = True
lblMontantRemiseFrancs.Visible = True
txtMontantRemiseEuros.Visible = True
txtMontantRemiseFrancs.Visible = True
End If
txtMontantRemiseEuros = CDbl(txtPrixEuros) * CDbl(cbxReduction) / 100
txtMontantRemiseFrancs = CDbl(txtMontantRemiseEuros) * 6.55957
If cbxReduction <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(cbxAccompteEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(txtMontantRemiseEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) -
CDbl(txtMontantRemiseFrancs)
End If
'txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
'txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
End Sub
Private Sub cbxTypeDeSoiree_Change()
Set WSDonneesPrix = Sheets("Prix")
Set PlagePrix = WSDonneesPrix.Range("B4:B" &
WSDonneesPrix.Range("D65535").End(xlUp).Row)
On Error Resume Next
D = PlagePrix.Find(What:ËxTypeDeSoiree, LookAt:=xlWhole).Row
With WSDonneesPrix
txtPrixEuros = .Range("C" & D)
End With
If cbxTypeDeSoiree = "" Then
cbxAccompteEuros = ""
cbxReduction = ""
txtPrixFrancs = ""
txtPrixEuros = ""
txtAccompteFrancs = ""
txtSoldeFrancs = ""
txtSoldeEuros = ""
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
Else
cbxAccompteEuros.Enabled = True
cbxReduction.Enabled = True
End If
lblPrixFrancs.Visible = True
txtPrixFrancs.Visible = True
End Sub
Private Sub cmdQuitter_Click()
Unload Me
End Sub
Private Sub txtAccompteFrancs_Change()
On Error Resume Next
txtAccompteFrancs = Format(txtAccompteFrancs, "##,##0.00")
End Sub
Private Sub txtMontantRemiseEuros_Change()
txtMontantRemiseEuros = Format(txtMontantRemiseEuros, "##,##0.00")
End Sub
Private Sub txtMontantRemiseFrancs_Change()
txtMontantRemiseFrancs = Format(txtMontantRemiseFrancs, "##,##0.00")
End Sub
Private Sub txtPortableDeLaMariee_Change()
PhoneFormat txtPortableDeLaMariee
End Sub
Private Sub txtPortableDuMarie_Change()
PhoneFormat txtPortableDuMarie
End Sub
Private Sub txtPrixFrancs_Change()
txtPrixFrancs = Format(txtPrixFrancs, "##,##0.00")
End Sub
Private Sub txtDateDeLaPrestation_Change()
txtDateDeLaPrestation = Application.Proper(Format(Calendar1.Value,
"dddd d
mmmm yyyy"))
End Sub
Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub
Private Sub txtSoldeFrancs_Change()
txtSoldeFrancs = Format(txtSoldeFrancs, "##,##0.00")
If txtSoldeFrancs > 0 Then
lblSoldeFrancs.ForeColor = &HFF&
lblSoldeEuros.ForeColor = &HFF&
Else
lblSoldeFrancs.ForeColor = &H80000008
lblSoldeEuros.ForeColor = &H80000008
End If
End Sub
Private Sub txtAccompteEuros_Change()
On Error Resume Next
txtAccompteEuros = Format(txtAccompteEuros, "##,##0.00")
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(txtAccompteEuros)
End Sub
Private Sub txtPrixEuros_Change()
On Error Resume Next
If txtPrixEuros <> "" Then
txtPrixFrancs = CDbl(txtPrixEuros) * 6.55957
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
Else
txtPrixEuros = ""
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = -CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = ""
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs.Value = -CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = ""
End If
End If
txtPrixEuros = Format(txtSoldeEuros, "##,##0.00")
lblAccompteFrancs.Visible = True
cbxAccompteEuros.Visible = True
lblSoldeFrancs.Visible = True
txtSoldeFrancs.Visible = True
lblPrixEuros.Visible = True
txtPrixEuros.Visible = True
lblSoldeEuros.Visible = True
txtSoldeEuros.Visible = True
End Sub
Private Sub txtSoldeEuros_Change()
On Error Resume Next
txtSoldeEuros = Format(txtSoldeEuros, "##,##0.00")
End Sub
Private Sub txtNomDuMarie_Change()
txtNomDuMarie.Value = UCase(txtNomDuMarie.Value)
End Sub
Private Sub txtPrenomDuMarie_Change()
txtPrenomDuMarie = Application.Proper(txtPrenomDuMarie)
End Sub
Private Sub txtNomDeLaMariee_Change()
txtNomDeLaMariee.Value = UCase(txtNomDeLaMariee.Value)
End Sub
Private Sub txtPrenomDeLaMariee_Change()
txtPrenomDeLaMariee = Application.Proper(txtPrenomDeLaMariee)
End Sub
Private Sub UserForm_Initialize()
Dim Ctrl As Control
'Ici je vide les Controls
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox
Then
Ctrl = ""
End If
Next Ctrl
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
' Choix des Organisateurs, Nom des salles, Traiteurs, Type de soirée
Set WSDonneesPrix = Worksheets("Prix")
With WSDonneesPrix
PlageTypeDeSoirée = .Range("B4:B" &
.Range("B2000").End(xlUp).Row).Address
End With
cbxTypeDeSoiree.RowSource = "Prix!" & PlageTypeDeSoirée
' Choix de l'accompt
cbxAccompteEuros.AddItem "100,00"
cbxAccompteEuros.AddItem "200,00"
cbxAccompteEuros.AddItem "300,00"
'Réduction
cbxReduction.AddItem "10"
cbxReduction.AddItem "15"
cbxReduction.AddItem "20"
End Sub
En vous remerciant par avance, Jacques
Re
Je te remet un autre lien, car j'ai rajouté un boutn pour accéder
directement a L'UserForm.
http://cjoint.com/?kFmEhxd0Rz
Merci, jacques
"Daniel" a écrit dans le message de news:C'est difficile de voir comment tout ce code s'articule.
S'il ne contient rien de confidentiel, peux-tu poster ton classeur à
l'adresse :
www.cjoint.com ?
Daniel
"Jacques" a écrit dans le message de news:
4365c325$0$7860$Daniel, le groupe
Merci de m'avoir répondu :
Donc cette partie de UserForm, me sert a choisir le type de soirée, ce
qui valide un prix prédéfini (Ca cela fonctionne)
Ensuite, si le demandeur donne un accompte, cela fait bien le calcul.
Et si je décide de faire une reduction, le calcule, se fait bien aussi.
Par contre je me suis apercu, que si je m'étais trompé de type de
soirée, donc il faut que je change dans le ComboBox, et la cela ne va
plus, cela me met des chiffre qui n'on rien a voir dans les TextBox. Je
ne peu donc pas revenir en arrière , une fois, un accompte de mis et/ ou
une réduction appliquée.
Donc ce que j'aimerais c'est que même si j'ai fait un choix d'accompte
et/ou de réduction, que si je décide de changer de type de soirée, que
cela me modifie le prix et que cela recalcule l'ensemble.
Pour le second point, j'autais aimer pouvoir arréter la liste des
accomptes sans dépassé la valeur du prix partiqué.
Si par exemple le type de soirée est un mariage, le prix sera de 300 ?,
donc dans l'accompte si la liste il y avait comme choix 50, 100, 150,
200, 250, 300, 350, 400 et bien que cela s'arrète a 300 ?.
Voila, j'espère être plus claire, sinon, je peu te proposer un fichier
joint.
Merci encore, Jacques
"Daniel" a écrit dans le message de news:Bonjour.
Difficile de comprendre ce que tu veux faire avec ton userform. Peux-tu
préciser et donner un exemple de ce qui ne fonctionne pas (ce que tu
devrais obtenir et ce que tu obtiens, par exemple.
Cordialement.
Daniel
"Jacques" a écrit dans le message de news:
4365401c$0$1021$Salut a toutes et tous
Je réhitère mes soucient, car je ne sais pas si mon post c'est perdu.
Donc j'ai deux petits soucie :
Le premier :
Si je choisi un type de soirée et que je met sois un accompte, soit
une
réduction ou même les deux et que je veuille modifier le type de
soirée les
calculs me donnent des valeur qui n'on rien a voir.
Y'a t'il moyen d'y remedier ?
Le deuxième :
Cela est pour la valeur de l'accomte.
Pour le moment je passe par un ComboBox.Additem, mais cela serait il
possible de faire en sorte que l'accompte ne dépasse pas la valeur du
prix
de départ.
Voice les codes :
Dans un module :
Option Explicit
Public TypeDeSoiree As Byte
Dans l'userform :
Option Explicit
Dim Plage, PlagePrix As Range
Dim A, B, C, D As Long
Dim WSDonnees, WSDonneesPrix As Worksheet
Dim PlageTypeDeSoirée As String
Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne
Numéro
Private Sub cbxAccompteEuros_Change()
On Error Resume Next
If cbxAccompteEuros.Text = "" Then
txtAccompteFrancs = ""
End If
If cbxAccompteEuros = "" Then
lblAccompteFrancs.ForeColor = &H80000008
lblAccompteEuros.ForeColor = &H80000008
Else
lblAccompteFrancs.ForeColor = &HFF0000
lblAccompteEuros.ForeColor = &HFF0000
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxAccompteEuros <> "" Then
txtAccompteFrancs = CDbl(cbxAccompteEuros) * 6.55957
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
lblAccompteEuros.Visible = True
txtAccompteFrancs.Visible = True
End Sub
Private Sub cbxReduction_Change()
On Error Resume Next
If cbxReduction = "" Then
txtMontantRemiseEuros = ""
txtMontantRemiseFrancs = ""
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
Else
lblMontantRemiseEuros.Visible = True
lblMontantRemiseFrancs.Visible = True
txtMontantRemiseEuros.Visible = True
txtMontantRemiseFrancs.Visible = True
End If
txtMontantRemiseEuros = CDbl(txtPrixEuros) * CDbl(cbxReduction) / 100
txtMontantRemiseFrancs = CDbl(txtMontantRemiseEuros) * 6.55957
If cbxReduction <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(cbxAccompteEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(txtMontantRemiseEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) -
CDbl(txtMontantRemiseFrancs)
End If
'txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
'txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
End Sub
Private Sub cbxTypeDeSoiree_Change()
Set WSDonneesPrix = Sheets("Prix")
Set PlagePrix = WSDonneesPrix.Range("B4:B" &
WSDonneesPrix.Range("D65535").End(xlUp).Row)
On Error Resume Next
D = PlagePrix.Find(What:ËxTypeDeSoiree, LookAt:=xlWhole).Row
With WSDonneesPrix
txtPrixEuros = .Range("C" & D)
End With
If cbxTypeDeSoiree = "" Then
cbxAccompteEuros = ""
cbxReduction = ""
txtPrixFrancs = ""
txtPrixEuros = ""
txtAccompteFrancs = ""
txtSoldeFrancs = ""
txtSoldeEuros = ""
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
Else
cbxAccompteEuros.Enabled = True
cbxReduction.Enabled = True
End If
lblPrixFrancs.Visible = True
txtPrixFrancs.Visible = True
End Sub
Private Sub cmdQuitter_Click()
Unload Me
End Sub
Private Sub txtAccompteFrancs_Change()
On Error Resume Next
txtAccompteFrancs = Format(txtAccompteFrancs, "##,##0.00")
End Sub
Private Sub txtMontantRemiseEuros_Change()
txtMontantRemiseEuros = Format(txtMontantRemiseEuros, "##,##0.00")
End Sub
Private Sub txtMontantRemiseFrancs_Change()
txtMontantRemiseFrancs = Format(txtMontantRemiseFrancs, "##,##0.00")
End Sub
Private Sub txtPortableDeLaMariee_Change()
PhoneFormat txtPortableDeLaMariee
End Sub
Private Sub txtPortableDuMarie_Change()
PhoneFormat txtPortableDuMarie
End Sub
Private Sub txtPrixFrancs_Change()
txtPrixFrancs = Format(txtPrixFrancs, "##,##0.00")
End Sub
Private Sub txtDateDeLaPrestation_Change()
txtDateDeLaPrestation = Application.Proper(Format(Calendar1.Value,
"dddd d
mmmm yyyy"))
End Sub
Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub
Private Sub txtSoldeFrancs_Change()
txtSoldeFrancs = Format(txtSoldeFrancs, "##,##0.00")
If txtSoldeFrancs > 0 Then
lblSoldeFrancs.ForeColor = &HFF&
lblSoldeEuros.ForeColor = &HFF&
Else
lblSoldeFrancs.ForeColor = &H80000008
lblSoldeEuros.ForeColor = &H80000008
End If
End Sub
Private Sub txtAccompteEuros_Change()
On Error Resume Next
txtAccompteEuros = Format(txtAccompteEuros, "##,##0.00")
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(txtAccompteEuros)
End Sub
Private Sub txtPrixEuros_Change()
On Error Resume Next
If txtPrixEuros <> "" Then
txtPrixFrancs = CDbl(txtPrixEuros) * 6.55957
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
Else
txtPrixEuros = ""
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = -CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = ""
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs.Value = -CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = ""
End If
End If
txtPrixEuros = Format(txtSoldeEuros, "##,##0.00")
lblAccompteFrancs.Visible = True
cbxAccompteEuros.Visible = True
lblSoldeFrancs.Visible = True
txtSoldeFrancs.Visible = True
lblPrixEuros.Visible = True
txtPrixEuros.Visible = True
lblSoldeEuros.Visible = True
txtSoldeEuros.Visible = True
End Sub
Private Sub txtSoldeEuros_Change()
On Error Resume Next
txtSoldeEuros = Format(txtSoldeEuros, "##,##0.00")
End Sub
Private Sub txtNomDuMarie_Change()
txtNomDuMarie.Value = UCase(txtNomDuMarie.Value)
End Sub
Private Sub txtPrenomDuMarie_Change()
txtPrenomDuMarie = Application.Proper(txtPrenomDuMarie)
End Sub
Private Sub txtNomDeLaMariee_Change()
txtNomDeLaMariee.Value = UCase(txtNomDeLaMariee.Value)
End Sub
Private Sub txtPrenomDeLaMariee_Change()
txtPrenomDeLaMariee = Application.Proper(txtPrenomDeLaMariee)
End Sub
Private Sub UserForm_Initialize()
Dim Ctrl As Control
'Ici je vide les Controls
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox
Then
Ctrl = ""
End If
Next Ctrl
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
' Choix des Organisateurs, Nom des salles, Traiteurs, Type de soirée
Set WSDonneesPrix = Worksheets("Prix")
With WSDonneesPrix
PlageTypeDeSoirée = .Range("B4:B" &
.Range("B2000").End(xlUp).Row).Address
End With
cbxTypeDeSoiree.RowSource = "Prix!" & PlageTypeDeSoirée
' Choix de l'accompt
cbxAccompteEuros.AddItem "100,00"
cbxAccompteEuros.AddItem "200,00"
cbxAccompteEuros.AddItem "300,00"
'Réduction
cbxReduction.AddItem "10"
cbxReduction.AddItem "15"
cbxReduction.AddItem "20"
End Sub
En vous remerciant par avance, Jacques
Re
Je te remet un autre lien, car j'ai rajouté un boutn pour accéder
directement a L'UserForm.
http://cjoint.com/?kFmEhxd0Rz
Merci, jacques
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
uof0Ejg3FHA.1420@TK2MSFTNGP09.phx.gbl...
C'est difficile de voir comment tout ce code s'articule.
S'il ne contient rien de confidentiel, peux-tu poster ton classeur à
l'adresse :
www.cjoint.com ?
Daniel
"Jacques" <jacques-zeziola@wanadoo.fr> a écrit dans le message de news:
4365c325$0$7860$8fcfb975@news.wanadoo.fr...
Daniel, le groupe
Merci de m'avoir répondu :
Donc cette partie de UserForm, me sert a choisir le type de soirée, ce
qui valide un prix prédéfini (Ca cela fonctionne)
Ensuite, si le demandeur donne un accompte, cela fait bien le calcul.
Et si je décide de faire une reduction, le calcule, se fait bien aussi.
Par contre je me suis apercu, que si je m'étais trompé de type de
soirée, donc il faut que je change dans le ComboBox, et la cela ne va
plus, cela me met des chiffre qui n'on rien a voir dans les TextBox. Je
ne peu donc pas revenir en arrière , une fois, un accompte de mis et/ ou
une réduction appliquée.
Donc ce que j'aimerais c'est que même si j'ai fait un choix d'accompte
et/ou de réduction, que si je décide de changer de type de soirée, que
cela me modifie le prix et que cela recalcule l'ensemble.
Pour le second point, j'autais aimer pouvoir arréter la liste des
accomptes sans dépassé la valeur du prix partiqué.
Si par exemple le type de soirée est un mariage, le prix sera de 300 ?,
donc dans l'accompte si la liste il y avait comme choix 50, 100, 150,
200, 250, 300, 350, 400 et bien que cela s'arrète a 300 ?.
Voila, j'espère être plus claire, sinon, je peu te proposer un fichier
joint.
Merci encore, Jacques
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
e0M3zOd3FHA.3976@TK2MSFTNGP15.phx.gbl...
Bonjour.
Difficile de comprendre ce que tu veux faire avec ton userform. Peux-tu
préciser et donner un exemple de ce qui ne fonctionne pas (ce que tu
devrais obtenir et ce que tu obtiens, par exemple.
Cordialement.
Daniel
"Jacques" <jacques-zeziola@wanadoo.fr> a écrit dans le message de news:
4365401c$0$1021$8fcfb975@news.wanadoo.fr...
Salut a toutes et tous
Je réhitère mes soucient, car je ne sais pas si mon post c'est perdu.
Donc j'ai deux petits soucie :
Le premier :
Si je choisi un type de soirée et que je met sois un accompte, soit
une
réduction ou même les deux et que je veuille modifier le type de
soirée les
calculs me donnent des valeur qui n'on rien a voir.
Y'a t'il moyen d'y remedier ?
Le deuxième :
Cela est pour la valeur de l'accomte.
Pour le moment je passe par un ComboBox.Additem, mais cela serait il
possible de faire en sorte que l'accompte ne dépasse pas la valeur du
prix
de départ.
Voice les codes :
Dans un module :
Option Explicit
Public TypeDeSoiree As Byte
Dans l'userform :
Option Explicit
Dim Plage, PlagePrix As Range
Dim A, B, C, D As Long
Dim WSDonnees, WSDonneesPrix As Worksheet
Dim PlageTypeDeSoirée As String
Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne
Numéro
Private Sub cbxAccompteEuros_Change()
On Error Resume Next
If cbxAccompteEuros.Text = "" Then
txtAccompteFrancs = ""
End If
If cbxAccompteEuros = "" Then
lblAccompteFrancs.ForeColor = &H80000008
lblAccompteEuros.ForeColor = &H80000008
Else
lblAccompteFrancs.ForeColor = &HFF0000
lblAccompteEuros.ForeColor = &HFF0000
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxAccompteEuros <> "" Then
txtAccompteFrancs = CDbl(cbxAccompteEuros) * 6.55957
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
lblAccompteEuros.Visible = True
txtAccompteFrancs.Visible = True
End Sub
Private Sub cbxReduction_Change()
On Error Resume Next
If cbxReduction = "" Then
txtMontantRemiseEuros = ""
txtMontantRemiseFrancs = ""
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
Else
lblMontantRemiseEuros.Visible = True
lblMontantRemiseFrancs.Visible = True
txtMontantRemiseEuros.Visible = True
txtMontantRemiseFrancs.Visible = True
End If
txtMontantRemiseEuros = CDbl(txtPrixEuros) * CDbl(cbxReduction) / 100
txtMontantRemiseFrancs = CDbl(txtMontantRemiseEuros) * 6.55957
If cbxReduction <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(cbxAccompteEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(txtMontantRemiseEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) -
CDbl(txtMontantRemiseFrancs)
End If
'txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
'txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
End Sub
Private Sub cbxTypeDeSoiree_Change()
Set WSDonneesPrix = Sheets("Prix")
Set PlagePrix = WSDonneesPrix.Range("B4:B" &
WSDonneesPrix.Range("D65535").End(xlUp).Row)
On Error Resume Next
D = PlagePrix.Find(What:ËxTypeDeSoiree, LookAt:=xlWhole).Row
With WSDonneesPrix
txtPrixEuros = .Range("C" & D)
End With
If cbxTypeDeSoiree = "" Then
cbxAccompteEuros = ""
cbxReduction = ""
txtPrixFrancs = ""
txtPrixEuros = ""
txtAccompteFrancs = ""
txtSoldeFrancs = ""
txtSoldeEuros = ""
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
Else
cbxAccompteEuros.Enabled = True
cbxReduction.Enabled = True
End If
lblPrixFrancs.Visible = True
txtPrixFrancs.Visible = True
End Sub
Private Sub cmdQuitter_Click()
Unload Me
End Sub
Private Sub txtAccompteFrancs_Change()
On Error Resume Next
txtAccompteFrancs = Format(txtAccompteFrancs, "##,##0.00")
End Sub
Private Sub txtMontantRemiseEuros_Change()
txtMontantRemiseEuros = Format(txtMontantRemiseEuros, "##,##0.00")
End Sub
Private Sub txtMontantRemiseFrancs_Change()
txtMontantRemiseFrancs = Format(txtMontantRemiseFrancs, "##,##0.00")
End Sub
Private Sub txtPortableDeLaMariee_Change()
PhoneFormat txtPortableDeLaMariee
End Sub
Private Sub txtPortableDuMarie_Change()
PhoneFormat txtPortableDuMarie
End Sub
Private Sub txtPrixFrancs_Change()
txtPrixFrancs = Format(txtPrixFrancs, "##,##0.00")
End Sub
Private Sub txtDateDeLaPrestation_Change()
txtDateDeLaPrestation = Application.Proper(Format(Calendar1.Value,
"dddd d
mmmm yyyy"))
End Sub
Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub
Private Sub txtSoldeFrancs_Change()
txtSoldeFrancs = Format(txtSoldeFrancs, "##,##0.00")
If txtSoldeFrancs > 0 Then
lblSoldeFrancs.ForeColor = &HFF&
lblSoldeEuros.ForeColor = &HFF&
Else
lblSoldeFrancs.ForeColor = &H80000008
lblSoldeEuros.ForeColor = &H80000008
End If
End Sub
Private Sub txtAccompteEuros_Change()
On Error Resume Next
txtAccompteEuros = Format(txtAccompteEuros, "##,##0.00")
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(txtAccompteEuros)
End Sub
Private Sub txtPrixEuros_Change()
On Error Resume Next
If txtPrixEuros <> "" Then
txtPrixFrancs = CDbl(txtPrixEuros) * 6.55957
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
Else
txtPrixEuros = ""
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = -CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = ""
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs.Value = -CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = ""
End If
End If
txtPrixEuros = Format(txtSoldeEuros, "##,##0.00")
lblAccompteFrancs.Visible = True
cbxAccompteEuros.Visible = True
lblSoldeFrancs.Visible = True
txtSoldeFrancs.Visible = True
lblPrixEuros.Visible = True
txtPrixEuros.Visible = True
lblSoldeEuros.Visible = True
txtSoldeEuros.Visible = True
End Sub
Private Sub txtSoldeEuros_Change()
On Error Resume Next
txtSoldeEuros = Format(txtSoldeEuros, "##,##0.00")
End Sub
Private Sub txtNomDuMarie_Change()
txtNomDuMarie.Value = UCase(txtNomDuMarie.Value)
End Sub
Private Sub txtPrenomDuMarie_Change()
txtPrenomDuMarie = Application.Proper(txtPrenomDuMarie)
End Sub
Private Sub txtNomDeLaMariee_Change()
txtNomDeLaMariee.Value = UCase(txtNomDeLaMariee.Value)
End Sub
Private Sub txtPrenomDeLaMariee_Change()
txtPrenomDeLaMariee = Application.Proper(txtPrenomDeLaMariee)
End Sub
Private Sub UserForm_Initialize()
Dim Ctrl As Control
'Ici je vide les Controls
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox
Then
Ctrl = ""
End If
Next Ctrl
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
' Choix des Organisateurs, Nom des salles, Traiteurs, Type de soirée
Set WSDonneesPrix = Worksheets("Prix")
With WSDonneesPrix
PlageTypeDeSoirée = .Range("B4:B" &
.Range("B2000").End(xlUp).Row).Address
End With
cbxTypeDeSoiree.RowSource = "Prix!" & PlageTypeDeSoirée
' Choix de l'accompt
cbxAccompteEuros.AddItem "100,00"
cbxAccompteEuros.AddItem "200,00"
cbxAccompteEuros.AddItem "300,00"
'Réduction
cbxReduction.AddItem "10"
cbxReduction.AddItem "15"
cbxReduction.AddItem "20"
End Sub
En vous remerciant par avance, Jacques
Re
Je te remet un autre lien, car j'ai rajouté un boutn pour accéder
directement a L'UserForm.
http://cjoint.com/?kFmEhxd0Rz
Merci, jacques
"Daniel" a écrit dans le message de news:C'est difficile de voir comment tout ce code s'articule.
S'il ne contient rien de confidentiel, peux-tu poster ton classeur à
l'adresse :
www.cjoint.com ?
Daniel
"Jacques" a écrit dans le message de news:
4365c325$0$7860$Daniel, le groupe
Merci de m'avoir répondu :
Donc cette partie de UserForm, me sert a choisir le type de soirée, ce
qui valide un prix prédéfini (Ca cela fonctionne)
Ensuite, si le demandeur donne un accompte, cela fait bien le calcul.
Et si je décide de faire une reduction, le calcule, se fait bien aussi.
Par contre je me suis apercu, que si je m'étais trompé de type de
soirée, donc il faut que je change dans le ComboBox, et la cela ne va
plus, cela me met des chiffre qui n'on rien a voir dans les TextBox. Je
ne peu donc pas revenir en arrière , une fois, un accompte de mis et/ ou
une réduction appliquée.
Donc ce que j'aimerais c'est que même si j'ai fait un choix d'accompte
et/ou de réduction, que si je décide de changer de type de soirée, que
cela me modifie le prix et que cela recalcule l'ensemble.
Pour le second point, j'autais aimer pouvoir arréter la liste des
accomptes sans dépassé la valeur du prix partiqué.
Si par exemple le type de soirée est un mariage, le prix sera de 300 ?,
donc dans l'accompte si la liste il y avait comme choix 50, 100, 150,
200, 250, 300, 350, 400 et bien que cela s'arrète a 300 ?.
Voila, j'espère être plus claire, sinon, je peu te proposer un fichier
joint.
Merci encore, Jacques
"Daniel" a écrit dans le message de news:Bonjour.
Difficile de comprendre ce que tu veux faire avec ton userform. Peux-tu
préciser et donner un exemple de ce qui ne fonctionne pas (ce que tu
devrais obtenir et ce que tu obtiens, par exemple.
Cordialement.
Daniel
"Jacques" a écrit dans le message de news:
4365401c$0$1021$Salut a toutes et tous
Je réhitère mes soucient, car je ne sais pas si mon post c'est perdu.
Donc j'ai deux petits soucie :
Le premier :
Si je choisi un type de soirée et que je met sois un accompte, soit
une
réduction ou même les deux et que je veuille modifier le type de
soirée les
calculs me donnent des valeur qui n'on rien a voir.
Y'a t'il moyen d'y remedier ?
Le deuxième :
Cela est pour la valeur de l'accomte.
Pour le moment je passe par un ComboBox.Additem, mais cela serait il
possible de faire en sorte que l'accompte ne dépasse pas la valeur du
prix
de départ.
Voice les codes :
Dans un module :
Option Explicit
Public TypeDeSoiree As Byte
Dans l'userform :
Option Explicit
Dim Plage, PlagePrix As Range
Dim A, B, C, D As Long
Dim WSDonnees, WSDonneesPrix As Worksheet
Dim PlageTypeDeSoirée As String
Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne
Numéro
Private Sub cbxAccompteEuros_Change()
On Error Resume Next
If cbxAccompteEuros.Text = "" Then
txtAccompteFrancs = ""
End If
If cbxAccompteEuros = "" Then
lblAccompteFrancs.ForeColor = &H80000008
lblAccompteEuros.ForeColor = &H80000008
Else
lblAccompteFrancs.ForeColor = &HFF0000
lblAccompteEuros.ForeColor = &HFF0000
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxAccompteEuros <> "" Then
txtAccompteFrancs = CDbl(cbxAccompteEuros) * 6.55957
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
lblAccompteEuros.Visible = True
txtAccompteFrancs.Visible = True
End Sub
Private Sub cbxReduction_Change()
On Error Resume Next
If cbxReduction = "" Then
txtMontantRemiseEuros = ""
txtMontantRemiseFrancs = ""
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
Else
lblMontantRemiseEuros.Visible = True
lblMontantRemiseFrancs.Visible = True
txtMontantRemiseEuros.Visible = True
txtMontantRemiseFrancs.Visible = True
End If
txtMontantRemiseEuros = CDbl(txtPrixEuros) * CDbl(cbxReduction) / 100
txtMontantRemiseFrancs = CDbl(txtMontantRemiseEuros) * 6.55957
If cbxReduction <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(cbxAccompteEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(txtMontantRemiseEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) -
CDbl(txtMontantRemiseFrancs)
End If
'txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
'txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
End Sub
Private Sub cbxTypeDeSoiree_Change()
Set WSDonneesPrix = Sheets("Prix")
Set PlagePrix = WSDonneesPrix.Range("B4:B" &
WSDonneesPrix.Range("D65535").End(xlUp).Row)
On Error Resume Next
D = PlagePrix.Find(What:ËxTypeDeSoiree, LookAt:=xlWhole).Row
With WSDonneesPrix
txtPrixEuros = .Range("C" & D)
End With
If cbxTypeDeSoiree = "" Then
cbxAccompteEuros = ""
cbxReduction = ""
txtPrixFrancs = ""
txtPrixEuros = ""
txtAccompteFrancs = ""
txtSoldeFrancs = ""
txtSoldeEuros = ""
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
Else
cbxAccompteEuros.Enabled = True
cbxReduction.Enabled = True
End If
lblPrixFrancs.Visible = True
txtPrixFrancs.Visible = True
End Sub
Private Sub cmdQuitter_Click()
Unload Me
End Sub
Private Sub txtAccompteFrancs_Change()
On Error Resume Next
txtAccompteFrancs = Format(txtAccompteFrancs, "##,##0.00")
End Sub
Private Sub txtMontantRemiseEuros_Change()
txtMontantRemiseEuros = Format(txtMontantRemiseEuros, "##,##0.00")
End Sub
Private Sub txtMontantRemiseFrancs_Change()
txtMontantRemiseFrancs = Format(txtMontantRemiseFrancs, "##,##0.00")
End Sub
Private Sub txtPortableDeLaMariee_Change()
PhoneFormat txtPortableDeLaMariee
End Sub
Private Sub txtPortableDuMarie_Change()
PhoneFormat txtPortableDuMarie
End Sub
Private Sub txtPrixFrancs_Change()
txtPrixFrancs = Format(txtPrixFrancs, "##,##0.00")
End Sub
Private Sub txtDateDeLaPrestation_Change()
txtDateDeLaPrestation = Application.Proper(Format(Calendar1.Value,
"dddd d
mmmm yyyy"))
End Sub
Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub
Private Sub txtSoldeFrancs_Change()
txtSoldeFrancs = Format(txtSoldeFrancs, "##,##0.00")
If txtSoldeFrancs > 0 Then
lblSoldeFrancs.ForeColor = &HFF&
lblSoldeEuros.ForeColor = &HFF&
Else
lblSoldeFrancs.ForeColor = &H80000008
lblSoldeEuros.ForeColor = &H80000008
End If
End Sub
Private Sub txtAccompteEuros_Change()
On Error Resume Next
txtAccompteEuros = Format(txtAccompteEuros, "##,##0.00")
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(txtAccompteEuros)
End Sub
Private Sub txtPrixEuros_Change()
On Error Resume Next
If txtPrixEuros <> "" Then
txtPrixFrancs = CDbl(txtPrixEuros) * 6.55957
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
Else
txtPrixEuros = ""
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = -CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = ""
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs.Value = -CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = ""
End If
End If
txtPrixEuros = Format(txtSoldeEuros, "##,##0.00")
lblAccompteFrancs.Visible = True
cbxAccompteEuros.Visible = True
lblSoldeFrancs.Visible = True
txtSoldeFrancs.Visible = True
lblPrixEuros.Visible = True
txtPrixEuros.Visible = True
lblSoldeEuros.Visible = True
txtSoldeEuros.Visible = True
End Sub
Private Sub txtSoldeEuros_Change()
On Error Resume Next
txtSoldeEuros = Format(txtSoldeEuros, "##,##0.00")
End Sub
Private Sub txtNomDuMarie_Change()
txtNomDuMarie.Value = UCase(txtNomDuMarie.Value)
End Sub
Private Sub txtPrenomDuMarie_Change()
txtPrenomDuMarie = Application.Proper(txtPrenomDuMarie)
End Sub
Private Sub txtNomDeLaMariee_Change()
txtNomDeLaMariee.Value = UCase(txtNomDeLaMariee.Value)
End Sub
Private Sub txtPrenomDeLaMariee_Change()
txtPrenomDeLaMariee = Application.Proper(txtPrenomDeLaMariee)
End Sub
Private Sub UserForm_Initialize()
Dim Ctrl As Control
'Ici je vide les Controls
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox
Then
Ctrl = ""
End If
Next Ctrl
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
' Choix des Organisateurs, Nom des salles, Traiteurs, Type de soirée
Set WSDonneesPrix = Worksheets("Prix")
With WSDonneesPrix
PlageTypeDeSoirée = .Range("B4:B" &
.Range("B2000").End(xlUp).Row).Address
End With
cbxTypeDeSoiree.RowSource = "Prix!" & PlageTypeDeSoirée
' Choix de l'accompt
cbxAccompteEuros.AddItem "100,00"
cbxAccompteEuros.AddItem "200,00"
cbxAccompteEuros.AddItem "300,00"
'Réduction
cbxReduction.AddItem "10"
cbxReduction.AddItem "15"
cbxReduction.AddItem "20"
End Sub
En vous remerciant par avance, Jacques
C'est difficile de voir comment tout ce code s'articule.
S'il ne contient rien de confidentiel, peux-tu poster ton classeur à
l'adresse :
www.cjoint.com ?
Daniel
"Jacques" a écrit dans le message de news:
4365c325$0$7860$Daniel, le groupe
Merci de m'avoir répondu :
Donc cette partie de UserForm, me sert a choisir le type de soirée, ce
qui valide un prix prédéfini (Ca cela fonctionne)
Ensuite, si le demandeur donne un accompte, cela fait bien le calcul.
Et si je décide de faire une reduction, le calcule, se fait bien aussi.
Par contre je me suis apercu, que si je m'étais trompé de type de soirée,
donc il faut que je change dans le ComboBox, et la cela ne va plus, cela
me met des chiffre qui n'on rien a voir dans les TextBox. Je ne peu donc
pas revenir en arrière , une fois, un accompte de mis et/ ou une
réduction appliquée.
Donc ce que j'aimerais c'est que même si j'ai fait un choix d'accompte
et/ou de réduction, que si je décide de changer de type de soirée, que
cela me modifie le prix et que cela recalcule l'ensemble.
Pour le second point, j'autais aimer pouvoir arréter la liste des
accomptes sans dépassé la valeur du prix partiqué.
Si par exemple le type de soirée est un mariage, le prix sera de 300 ?,
donc dans l'accompte si la liste il y avait comme choix 50, 100, 150,
200, 250, 300, 350, 400 et bien que cela s'arrète a 300 ?.
Voila, j'espère être plus claire, sinon, je peu te proposer un fichier
joint.
Merci encore, Jacques
"Daniel" a écrit dans le message de news:Bonjour.
Difficile de comprendre ce que tu veux faire avec ton userform. Peux-tu
préciser et donner un exemple de ce qui ne fonctionne pas (ce que tu
devrais obtenir et ce que tu obtiens, par exemple.
Cordialement.
Daniel
"Jacques" a écrit dans le message de news:
4365401c$0$1021$Salut a toutes et tous
Je réhitère mes soucient, car je ne sais pas si mon post c'est perdu.
Donc j'ai deux petits soucie :
Le premier :
Si je choisi un type de soirée et que je met sois un accompte, soit une
réduction ou même les deux et que je veuille modifier le type de soirée
les
calculs me donnent des valeur qui n'on rien a voir.
Y'a t'il moyen d'y remedier ?
Le deuxième :
Cela est pour la valeur de l'accomte.
Pour le moment je passe par un ComboBox.Additem, mais cela serait il
possible de faire en sorte que l'accompte ne dépasse pas la valeur du
prix
de départ.
Voice les codes :
Dans un module :
Option Explicit
Public TypeDeSoiree As Byte
Dans l'userform :
Option Explicit
Dim Plage, PlagePrix As Range
Dim A, B, C, D As Long
Dim WSDonnees, WSDonneesPrix As Worksheet
Dim PlageTypeDeSoirée As String
Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne
Numéro
Private Sub cbxAccompteEuros_Change()
On Error Resume Next
If cbxAccompteEuros.Text = "" Then
txtAccompteFrancs = ""
End If
If cbxAccompteEuros = "" Then
lblAccompteFrancs.ForeColor = &H80000008
lblAccompteEuros.ForeColor = &H80000008
Else
lblAccompteFrancs.ForeColor = &HFF0000
lblAccompteEuros.ForeColor = &HFF0000
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxAccompteEuros <> "" Then
txtAccompteFrancs = CDbl(cbxAccompteEuros) * 6.55957
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
lblAccompteEuros.Visible = True
txtAccompteFrancs.Visible = True
End Sub
Private Sub cbxReduction_Change()
On Error Resume Next
If cbxReduction = "" Then
txtMontantRemiseEuros = ""
txtMontantRemiseFrancs = ""
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
Else
lblMontantRemiseEuros.Visible = True
lblMontantRemiseFrancs.Visible = True
txtMontantRemiseEuros.Visible = True
txtMontantRemiseFrancs.Visible = True
End If
txtMontantRemiseEuros = CDbl(txtPrixEuros) * CDbl(cbxReduction) / 100
txtMontantRemiseFrancs = CDbl(txtMontantRemiseEuros) * 6.55957
If cbxReduction <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(cbxAccompteEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(txtMontantRemiseEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) -
CDbl(txtMontantRemiseFrancs)
End If
'txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
'txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
End Sub
Private Sub cbxTypeDeSoiree_Change()
Set WSDonneesPrix = Sheets("Prix")
Set PlagePrix = WSDonneesPrix.Range("B4:B" &
WSDonneesPrix.Range("D65535").End(xlUp).Row)
On Error Resume Next
D = PlagePrix.Find(What:ËxTypeDeSoiree, LookAt:=xlWhole).Row
With WSDonneesPrix
txtPrixEuros = .Range("C" & D)
End With
If cbxTypeDeSoiree = "" Then
cbxAccompteEuros = ""
cbxReduction = ""
txtPrixFrancs = ""
txtPrixEuros = ""
txtAccompteFrancs = ""
txtSoldeFrancs = ""
txtSoldeEuros = ""
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
Else
cbxAccompteEuros.Enabled = True
cbxReduction.Enabled = True
End If
lblPrixFrancs.Visible = True
txtPrixFrancs.Visible = True
End Sub
Private Sub cmdQuitter_Click()
Unload Me
End Sub
Private Sub txtAccompteFrancs_Change()
On Error Resume Next
txtAccompteFrancs = Format(txtAccompteFrancs, "##,##0.00")
End Sub
Private Sub txtMontantRemiseEuros_Change()
txtMontantRemiseEuros = Format(txtMontantRemiseEuros, "##,##0.00")
End Sub
Private Sub txtMontantRemiseFrancs_Change()
txtMontantRemiseFrancs = Format(txtMontantRemiseFrancs, "##,##0.00")
End Sub
Private Sub txtPortableDeLaMariee_Change()
PhoneFormat txtPortableDeLaMariee
End Sub
Private Sub txtPortableDuMarie_Change()
PhoneFormat txtPortableDuMarie
End Sub
Private Sub txtPrixFrancs_Change()
txtPrixFrancs = Format(txtPrixFrancs, "##,##0.00")
End Sub
Private Sub txtDateDeLaPrestation_Change()
txtDateDeLaPrestation = Application.Proper(Format(Calendar1.Value,
"dddd d
mmmm yyyy"))
End Sub
Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub
Private Sub txtSoldeFrancs_Change()
txtSoldeFrancs = Format(txtSoldeFrancs, "##,##0.00")
If txtSoldeFrancs > 0 Then
lblSoldeFrancs.ForeColor = &HFF&
lblSoldeEuros.ForeColor = &HFF&
Else
lblSoldeFrancs.ForeColor = &H80000008
lblSoldeEuros.ForeColor = &H80000008
End If
End Sub
Private Sub txtAccompteEuros_Change()
On Error Resume Next
txtAccompteEuros = Format(txtAccompteEuros, "##,##0.00")
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(txtAccompteEuros)
End Sub
Private Sub txtPrixEuros_Change()
On Error Resume Next
If txtPrixEuros <> "" Then
txtPrixFrancs = CDbl(txtPrixEuros) * 6.55957
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
Else
txtPrixEuros = ""
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = -CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = ""
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs.Value = -CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = ""
End If
End If
txtPrixEuros = Format(txtSoldeEuros, "##,##0.00")
lblAccompteFrancs.Visible = True
cbxAccompteEuros.Visible = True
lblSoldeFrancs.Visible = True
txtSoldeFrancs.Visible = True
lblPrixEuros.Visible = True
txtPrixEuros.Visible = True
lblSoldeEuros.Visible = True
txtSoldeEuros.Visible = True
End Sub
Private Sub txtSoldeEuros_Change()
On Error Resume Next
txtSoldeEuros = Format(txtSoldeEuros, "##,##0.00")
End Sub
Private Sub txtNomDuMarie_Change()
txtNomDuMarie.Value = UCase(txtNomDuMarie.Value)
End Sub
Private Sub txtPrenomDuMarie_Change()
txtPrenomDuMarie = Application.Proper(txtPrenomDuMarie)
End Sub
Private Sub txtNomDeLaMariee_Change()
txtNomDeLaMariee.Value = UCase(txtNomDeLaMariee.Value)
End Sub
Private Sub txtPrenomDeLaMariee_Change()
txtPrenomDeLaMariee = Application.Proper(txtPrenomDeLaMariee)
End Sub
Private Sub UserForm_Initialize()
Dim Ctrl As Control
'Ici je vide les Controls
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox
Then
Ctrl = ""
End If
Next Ctrl
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
' Choix des Organisateurs, Nom des salles, Traiteurs, Type de soirée
Set WSDonneesPrix = Worksheets("Prix")
With WSDonneesPrix
PlageTypeDeSoirée = .Range("B4:B" &
.Range("B2000").End(xlUp).Row).Address
End With
cbxTypeDeSoiree.RowSource = "Prix!" & PlageTypeDeSoirée
' Choix de l'accompt
cbxAccompteEuros.AddItem "100,00"
cbxAccompteEuros.AddItem "200,00"
cbxAccompteEuros.AddItem "300,00"
'Réduction
cbxReduction.AddItem "10"
cbxReduction.AddItem "15"
cbxReduction.AddItem "20"
End Sub
En vous remerciant par avance, Jacques
C'est difficile de voir comment tout ce code s'articule.
S'il ne contient rien de confidentiel, peux-tu poster ton classeur à
l'adresse :
www.cjoint.com ?
Daniel
"Jacques" <jacques-zeziola@wanadoo.fr> a écrit dans le message de news:
4365c325$0$7860$8fcfb975@news.wanadoo.fr...
Daniel, le groupe
Merci de m'avoir répondu :
Donc cette partie de UserForm, me sert a choisir le type de soirée, ce
qui valide un prix prédéfini (Ca cela fonctionne)
Ensuite, si le demandeur donne un accompte, cela fait bien le calcul.
Et si je décide de faire une reduction, le calcule, se fait bien aussi.
Par contre je me suis apercu, que si je m'étais trompé de type de soirée,
donc il faut que je change dans le ComboBox, et la cela ne va plus, cela
me met des chiffre qui n'on rien a voir dans les TextBox. Je ne peu donc
pas revenir en arrière , une fois, un accompte de mis et/ ou une
réduction appliquée.
Donc ce que j'aimerais c'est que même si j'ai fait un choix d'accompte
et/ou de réduction, que si je décide de changer de type de soirée, que
cela me modifie le prix et que cela recalcule l'ensemble.
Pour le second point, j'autais aimer pouvoir arréter la liste des
accomptes sans dépassé la valeur du prix partiqué.
Si par exemple le type de soirée est un mariage, le prix sera de 300 ?,
donc dans l'accompte si la liste il y avait comme choix 50, 100, 150,
200, 250, 300, 350, 400 et bien que cela s'arrète a 300 ?.
Voila, j'espère être plus claire, sinon, je peu te proposer un fichier
joint.
Merci encore, Jacques
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
e0M3zOd3FHA.3976@TK2MSFTNGP15.phx.gbl...
Bonjour.
Difficile de comprendre ce que tu veux faire avec ton userform. Peux-tu
préciser et donner un exemple de ce qui ne fonctionne pas (ce que tu
devrais obtenir et ce que tu obtiens, par exemple.
Cordialement.
Daniel
"Jacques" <jacques-zeziola@wanadoo.fr> a écrit dans le message de news:
4365401c$0$1021$8fcfb975@news.wanadoo.fr...
Salut a toutes et tous
Je réhitère mes soucient, car je ne sais pas si mon post c'est perdu.
Donc j'ai deux petits soucie :
Le premier :
Si je choisi un type de soirée et que je met sois un accompte, soit une
réduction ou même les deux et que je veuille modifier le type de soirée
les
calculs me donnent des valeur qui n'on rien a voir.
Y'a t'il moyen d'y remedier ?
Le deuxième :
Cela est pour la valeur de l'accomte.
Pour le moment je passe par un ComboBox.Additem, mais cela serait il
possible de faire en sorte que l'accompte ne dépasse pas la valeur du
prix
de départ.
Voice les codes :
Dans un module :
Option Explicit
Public TypeDeSoiree As Byte
Dans l'userform :
Option Explicit
Dim Plage, PlagePrix As Range
Dim A, B, C, D As Long
Dim WSDonnees, WSDonneesPrix As Worksheet
Dim PlageTypeDeSoirée As String
Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne
Numéro
Private Sub cbxAccompteEuros_Change()
On Error Resume Next
If cbxAccompteEuros.Text = "" Then
txtAccompteFrancs = ""
End If
If cbxAccompteEuros = "" Then
lblAccompteFrancs.ForeColor = &H80000008
lblAccompteEuros.ForeColor = &H80000008
Else
lblAccompteFrancs.ForeColor = &HFF0000
lblAccompteEuros.ForeColor = &HFF0000
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxAccompteEuros <> "" Then
txtAccompteFrancs = CDbl(cbxAccompteEuros) * 6.55957
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
lblAccompteEuros.Visible = True
txtAccompteFrancs.Visible = True
End Sub
Private Sub cbxReduction_Change()
On Error Resume Next
If cbxReduction = "" Then
txtMontantRemiseEuros = ""
txtMontantRemiseFrancs = ""
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
Else
lblMontantRemiseEuros.Visible = True
lblMontantRemiseFrancs.Visible = True
txtMontantRemiseEuros.Visible = True
txtMontantRemiseFrancs.Visible = True
End If
txtMontantRemiseEuros = CDbl(txtPrixEuros) * CDbl(cbxReduction) / 100
txtMontantRemiseFrancs = CDbl(txtMontantRemiseEuros) * 6.55957
If cbxReduction <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(cbxAccompteEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(txtMontantRemiseEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) -
CDbl(txtMontantRemiseFrancs)
End If
'txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
'txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
End Sub
Private Sub cbxTypeDeSoiree_Change()
Set WSDonneesPrix = Sheets("Prix")
Set PlagePrix = WSDonneesPrix.Range("B4:B" &
WSDonneesPrix.Range("D65535").End(xlUp).Row)
On Error Resume Next
D = PlagePrix.Find(What:ËxTypeDeSoiree, LookAt:=xlWhole).Row
With WSDonneesPrix
txtPrixEuros = .Range("C" & D)
End With
If cbxTypeDeSoiree = "" Then
cbxAccompteEuros = ""
cbxReduction = ""
txtPrixFrancs = ""
txtPrixEuros = ""
txtAccompteFrancs = ""
txtSoldeFrancs = ""
txtSoldeEuros = ""
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
Else
cbxAccompteEuros.Enabled = True
cbxReduction.Enabled = True
End If
lblPrixFrancs.Visible = True
txtPrixFrancs.Visible = True
End Sub
Private Sub cmdQuitter_Click()
Unload Me
End Sub
Private Sub txtAccompteFrancs_Change()
On Error Resume Next
txtAccompteFrancs = Format(txtAccompteFrancs, "##,##0.00")
End Sub
Private Sub txtMontantRemiseEuros_Change()
txtMontantRemiseEuros = Format(txtMontantRemiseEuros, "##,##0.00")
End Sub
Private Sub txtMontantRemiseFrancs_Change()
txtMontantRemiseFrancs = Format(txtMontantRemiseFrancs, "##,##0.00")
End Sub
Private Sub txtPortableDeLaMariee_Change()
PhoneFormat txtPortableDeLaMariee
End Sub
Private Sub txtPortableDuMarie_Change()
PhoneFormat txtPortableDuMarie
End Sub
Private Sub txtPrixFrancs_Change()
txtPrixFrancs = Format(txtPrixFrancs, "##,##0.00")
End Sub
Private Sub txtDateDeLaPrestation_Change()
txtDateDeLaPrestation = Application.Proper(Format(Calendar1.Value,
"dddd d
mmmm yyyy"))
End Sub
Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub
Private Sub txtSoldeFrancs_Change()
txtSoldeFrancs = Format(txtSoldeFrancs, "##,##0.00")
If txtSoldeFrancs > 0 Then
lblSoldeFrancs.ForeColor = &HFF&
lblSoldeEuros.ForeColor = &HFF&
Else
lblSoldeFrancs.ForeColor = &H80000008
lblSoldeEuros.ForeColor = &H80000008
End If
End Sub
Private Sub txtAccompteEuros_Change()
On Error Resume Next
txtAccompteEuros = Format(txtAccompteEuros, "##,##0.00")
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(txtAccompteEuros)
End Sub
Private Sub txtPrixEuros_Change()
On Error Resume Next
If txtPrixEuros <> "" Then
txtPrixFrancs = CDbl(txtPrixEuros) * 6.55957
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
Else
txtPrixEuros = ""
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = -CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = ""
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs.Value = -CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = ""
End If
End If
txtPrixEuros = Format(txtSoldeEuros, "##,##0.00")
lblAccompteFrancs.Visible = True
cbxAccompteEuros.Visible = True
lblSoldeFrancs.Visible = True
txtSoldeFrancs.Visible = True
lblPrixEuros.Visible = True
txtPrixEuros.Visible = True
lblSoldeEuros.Visible = True
txtSoldeEuros.Visible = True
End Sub
Private Sub txtSoldeEuros_Change()
On Error Resume Next
txtSoldeEuros = Format(txtSoldeEuros, "##,##0.00")
End Sub
Private Sub txtNomDuMarie_Change()
txtNomDuMarie.Value = UCase(txtNomDuMarie.Value)
End Sub
Private Sub txtPrenomDuMarie_Change()
txtPrenomDuMarie = Application.Proper(txtPrenomDuMarie)
End Sub
Private Sub txtNomDeLaMariee_Change()
txtNomDeLaMariee.Value = UCase(txtNomDeLaMariee.Value)
End Sub
Private Sub txtPrenomDeLaMariee_Change()
txtPrenomDeLaMariee = Application.Proper(txtPrenomDeLaMariee)
End Sub
Private Sub UserForm_Initialize()
Dim Ctrl As Control
'Ici je vide les Controls
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox
Then
Ctrl = ""
End If
Next Ctrl
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
' Choix des Organisateurs, Nom des salles, Traiteurs, Type de soirée
Set WSDonneesPrix = Worksheets("Prix")
With WSDonneesPrix
PlageTypeDeSoirée = .Range("B4:B" &
.Range("B2000").End(xlUp).Row).Address
End With
cbxTypeDeSoiree.RowSource = "Prix!" & PlageTypeDeSoirée
' Choix de l'accompt
cbxAccompteEuros.AddItem "100,00"
cbxAccompteEuros.AddItem "200,00"
cbxAccompteEuros.AddItem "300,00"
'Réduction
cbxReduction.AddItem "10"
cbxReduction.AddItem "15"
cbxReduction.AddItem "20"
End Sub
En vous remerciant par avance, Jacques
C'est difficile de voir comment tout ce code s'articule.
S'il ne contient rien de confidentiel, peux-tu poster ton classeur à
l'adresse :
www.cjoint.com ?
Daniel
"Jacques" a écrit dans le message de news:
4365c325$0$7860$Daniel, le groupe
Merci de m'avoir répondu :
Donc cette partie de UserForm, me sert a choisir le type de soirée, ce
qui valide un prix prédéfini (Ca cela fonctionne)
Ensuite, si le demandeur donne un accompte, cela fait bien le calcul.
Et si je décide de faire une reduction, le calcule, se fait bien aussi.
Par contre je me suis apercu, que si je m'étais trompé de type de soirée,
donc il faut que je change dans le ComboBox, et la cela ne va plus, cela
me met des chiffre qui n'on rien a voir dans les TextBox. Je ne peu donc
pas revenir en arrière , une fois, un accompte de mis et/ ou une
réduction appliquée.
Donc ce que j'aimerais c'est que même si j'ai fait un choix d'accompte
et/ou de réduction, que si je décide de changer de type de soirée, que
cela me modifie le prix et que cela recalcule l'ensemble.
Pour le second point, j'autais aimer pouvoir arréter la liste des
accomptes sans dépassé la valeur du prix partiqué.
Si par exemple le type de soirée est un mariage, le prix sera de 300 ?,
donc dans l'accompte si la liste il y avait comme choix 50, 100, 150,
200, 250, 300, 350, 400 et bien que cela s'arrète a 300 ?.
Voila, j'espère être plus claire, sinon, je peu te proposer un fichier
joint.
Merci encore, Jacques
"Daniel" a écrit dans le message de news:Bonjour.
Difficile de comprendre ce que tu veux faire avec ton userform. Peux-tu
préciser et donner un exemple de ce qui ne fonctionne pas (ce que tu
devrais obtenir et ce que tu obtiens, par exemple.
Cordialement.
Daniel
"Jacques" a écrit dans le message de news:
4365401c$0$1021$Salut a toutes et tous
Je réhitère mes soucient, car je ne sais pas si mon post c'est perdu.
Donc j'ai deux petits soucie :
Le premier :
Si je choisi un type de soirée et que je met sois un accompte, soit une
réduction ou même les deux et que je veuille modifier le type de soirée
les
calculs me donnent des valeur qui n'on rien a voir.
Y'a t'il moyen d'y remedier ?
Le deuxième :
Cela est pour la valeur de l'accomte.
Pour le moment je passe par un ComboBox.Additem, mais cela serait il
possible de faire en sorte que l'accompte ne dépasse pas la valeur du
prix
de départ.
Voice les codes :
Dans un module :
Option Explicit
Public TypeDeSoiree As Byte
Dans l'userform :
Option Explicit
Dim Plage, PlagePrix As Range
Dim A, B, C, D As Long
Dim WSDonnees, WSDonneesPrix As Worksheet
Dim PlageTypeDeSoirée As String
Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne
Numéro
Private Sub cbxAccompteEuros_Change()
On Error Resume Next
If cbxAccompteEuros.Text = "" Then
txtAccompteFrancs = ""
End If
If cbxAccompteEuros = "" Then
lblAccompteFrancs.ForeColor = &H80000008
lblAccompteEuros.ForeColor = &H80000008
Else
lblAccompteFrancs.ForeColor = &HFF0000
lblAccompteEuros.ForeColor = &HFF0000
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxAccompteEuros <> "" Then
txtAccompteFrancs = CDbl(cbxAccompteEuros) * 6.55957
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
lblAccompteEuros.Visible = True
txtAccompteFrancs.Visible = True
End Sub
Private Sub cbxReduction_Change()
On Error Resume Next
If cbxReduction = "" Then
txtMontantRemiseEuros = ""
txtMontantRemiseFrancs = ""
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
Else
lblMontantRemiseEuros.Visible = True
lblMontantRemiseFrancs.Visible = True
txtMontantRemiseEuros.Visible = True
txtMontantRemiseFrancs.Visible = True
End If
txtMontantRemiseEuros = CDbl(txtPrixEuros) * CDbl(cbxReduction) / 100
txtMontantRemiseFrancs = CDbl(txtMontantRemiseEuros) * 6.55957
If cbxReduction <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(cbxAccompteEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(txtMontantRemiseEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) -
CDbl(txtMontantRemiseFrancs)
End If
'txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
'txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
End Sub
Private Sub cbxTypeDeSoiree_Change()
Set WSDonneesPrix = Sheets("Prix")
Set PlagePrix = WSDonneesPrix.Range("B4:B" &
WSDonneesPrix.Range("D65535").End(xlUp).Row)
On Error Resume Next
D = PlagePrix.Find(What:ËxTypeDeSoiree, LookAt:=xlWhole).Row
With WSDonneesPrix
txtPrixEuros = .Range("C" & D)
End With
If cbxTypeDeSoiree = "" Then
cbxAccompteEuros = ""
cbxReduction = ""
txtPrixFrancs = ""
txtPrixEuros = ""
txtAccompteFrancs = ""
txtSoldeFrancs = ""
txtSoldeEuros = ""
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
Else
cbxAccompteEuros.Enabled = True
cbxReduction.Enabled = True
End If
lblPrixFrancs.Visible = True
txtPrixFrancs.Visible = True
End Sub
Private Sub cmdQuitter_Click()
Unload Me
End Sub
Private Sub txtAccompteFrancs_Change()
On Error Resume Next
txtAccompteFrancs = Format(txtAccompteFrancs, "##,##0.00")
End Sub
Private Sub txtMontantRemiseEuros_Change()
txtMontantRemiseEuros = Format(txtMontantRemiseEuros, "##,##0.00")
End Sub
Private Sub txtMontantRemiseFrancs_Change()
txtMontantRemiseFrancs = Format(txtMontantRemiseFrancs, "##,##0.00")
End Sub
Private Sub txtPortableDeLaMariee_Change()
PhoneFormat txtPortableDeLaMariee
End Sub
Private Sub txtPortableDuMarie_Change()
PhoneFormat txtPortableDuMarie
End Sub
Private Sub txtPrixFrancs_Change()
txtPrixFrancs = Format(txtPrixFrancs, "##,##0.00")
End Sub
Private Sub txtDateDeLaPrestation_Change()
txtDateDeLaPrestation = Application.Proper(Format(Calendar1.Value,
"dddd d
mmmm yyyy"))
End Sub
Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub
Private Sub txtSoldeFrancs_Change()
txtSoldeFrancs = Format(txtSoldeFrancs, "##,##0.00")
If txtSoldeFrancs > 0 Then
lblSoldeFrancs.ForeColor = &HFF&
lblSoldeEuros.ForeColor = &HFF&
Else
lblSoldeFrancs.ForeColor = &H80000008
lblSoldeEuros.ForeColor = &H80000008
End If
End Sub
Private Sub txtAccompteEuros_Change()
On Error Resume Next
txtAccompteEuros = Format(txtAccompteEuros, "##,##0.00")
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(txtAccompteEuros)
End Sub
Private Sub txtPrixEuros_Change()
On Error Resume Next
If txtPrixEuros <> "" Then
txtPrixFrancs = CDbl(txtPrixEuros) * 6.55957
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
Else
txtPrixEuros = ""
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = -CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = ""
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs.Value = -CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = ""
End If
End If
txtPrixEuros = Format(txtSoldeEuros, "##,##0.00")
lblAccompteFrancs.Visible = True
cbxAccompteEuros.Visible = True
lblSoldeFrancs.Visible = True
txtSoldeFrancs.Visible = True
lblPrixEuros.Visible = True
txtPrixEuros.Visible = True
lblSoldeEuros.Visible = True
txtSoldeEuros.Visible = True
End Sub
Private Sub txtSoldeEuros_Change()
On Error Resume Next
txtSoldeEuros = Format(txtSoldeEuros, "##,##0.00")
End Sub
Private Sub txtNomDuMarie_Change()
txtNomDuMarie.Value = UCase(txtNomDuMarie.Value)
End Sub
Private Sub txtPrenomDuMarie_Change()
txtPrenomDuMarie = Application.Proper(txtPrenomDuMarie)
End Sub
Private Sub txtNomDeLaMariee_Change()
txtNomDeLaMariee.Value = UCase(txtNomDeLaMariee.Value)
End Sub
Private Sub txtPrenomDeLaMariee_Change()
txtPrenomDeLaMariee = Application.Proper(txtPrenomDeLaMariee)
End Sub
Private Sub UserForm_Initialize()
Dim Ctrl As Control
'Ici je vide les Controls
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox
Then
Ctrl = ""
End If
Next Ctrl
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
' Choix des Organisateurs, Nom des salles, Traiteurs, Type de soirée
Set WSDonneesPrix = Worksheets("Prix")
With WSDonneesPrix
PlageTypeDeSoirée = .Range("B4:B" &
.Range("B2000").End(xlUp).Row).Address
End With
cbxTypeDeSoiree.RowSource = "Prix!" & PlageTypeDeSoirée
' Choix de l'accompt
cbxAccompteEuros.AddItem "100,00"
cbxAccompteEuros.AddItem "200,00"
cbxAccompteEuros.AddItem "300,00"
'Réduction
cbxReduction.AddItem "10"
cbxReduction.AddItem "15"
cbxReduction.AddItem "20"
End Sub
En vous remerciant par avance, Jacques
Re
Je te remet un autre lien, car j'ai rajouté un boutn pour accéder
directement a L'UserForm.
http://cjoint.com/?kFmEhxd0Rz
Merci, jacques
"Daniel" a écrit dans le message de news:C'est difficile de voir comment tout ce code s'articule.
S'il ne contient rien de confidentiel, peux-tu poster ton classeur à
l'adresse :
www.cjoint.com ?
Daniel
"Jacques" a écrit dans le message de news:
4365c325$0$7860$Daniel, le groupe
Merci de m'avoir répondu :
Donc cette partie de UserForm, me sert a choisir le type de soirée, ce
qui valide un prix prédéfini (Ca cela fonctionne)
Ensuite, si le demandeur donne un accompte, cela fait bien le calcul.
Et si je décide de faire une reduction, le calcule, se fait bien aussi.
Par contre je me suis apercu, que si je m'étais trompé de type de
soirée, donc il faut que je change dans le ComboBox, et la cela ne va
plus, cela me met des chiffre qui n'on rien a voir dans les TextBox. Je
ne peu donc pas revenir en arrière , une fois, un accompte de mis et/ ou
une réduction appliquée.
Donc ce que j'aimerais c'est que même si j'ai fait un choix d'accompte
et/ou de réduction, que si je décide de changer de type de soirée, que
cela me modifie le prix et que cela recalcule l'ensemble.
Pour le second point, j'autais aimer pouvoir arréter la liste des
accomptes sans dépassé la valeur du prix partiqué.
Si par exemple le type de soirée est un mariage, le prix sera de 300 ?,
donc dans l'accompte si la liste il y avait comme choix 50, 100, 150,
200, 250, 300, 350, 400 et bien que cela s'arrète a 300 ?.
Voila, j'espère être plus claire, sinon, je peu te proposer un fichier
joint.
Merci encore, Jacques
"Daniel" a écrit dans le message de news:Bonjour.
Difficile de comprendre ce que tu veux faire avec ton userform. Peux-tu
préciser et donner un exemple de ce qui ne fonctionne pas (ce que tu
devrais obtenir et ce que tu obtiens, par exemple.
Cordialement.
Daniel
"Jacques" a écrit dans le message de news:
4365401c$0$1021$Salut a toutes et tous
Je réhitère mes soucient, car je ne sais pas si mon post c'est perdu.
Donc j'ai deux petits soucie :
Le premier :
Si je choisi un type de soirée et que je met sois un accompte, soit
une
réduction ou même les deux et que je veuille modifier le type de
soirée les
calculs me donnent des valeur qui n'on rien a voir.
Y'a t'il moyen d'y remedier ?
Le deuxième :
Cela est pour la valeur de l'accomte.
Pour le moment je passe par un ComboBox.Additem, mais cela serait il
possible de faire en sorte que l'accompte ne dépasse pas la valeur du
prix
de départ.
Voice les codes :
Dans un module :
Option Explicit
Public TypeDeSoiree As Byte
Dans l'userform :
Option Explicit
Dim Plage, PlagePrix As Range
Dim A, B, C, D As Long
Dim WSDonnees, WSDonneesPrix As Worksheet
Dim PlageTypeDeSoirée As String
Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne
Numéro
Private Sub cbxAccompteEuros_Change()
On Error Resume Next
If cbxAccompteEuros.Text = "" Then
txtAccompteFrancs = ""
End If
If cbxAccompteEuros = "" Then
lblAccompteFrancs.ForeColor = &H80000008
lblAccompteEuros.ForeColor = &H80000008
Else
lblAccompteFrancs.ForeColor = &HFF0000
lblAccompteEuros.ForeColor = &HFF0000
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxAccompteEuros <> "" Then
txtAccompteFrancs = CDbl(cbxAccompteEuros) * 6.55957
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
lblAccompteEuros.Visible = True
txtAccompteFrancs.Visible = True
End Sub
Private Sub cbxReduction_Change()
On Error Resume Next
If cbxReduction = "" Then
txtMontantRemiseEuros = ""
txtMontantRemiseFrancs = ""
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
Else
lblMontantRemiseEuros.Visible = True
lblMontantRemiseFrancs.Visible = True
txtMontantRemiseEuros.Visible = True
txtMontantRemiseFrancs.Visible = True
End If
txtMontantRemiseEuros = CDbl(txtPrixEuros) * CDbl(cbxReduction) / 100
txtMontantRemiseFrancs = CDbl(txtMontantRemiseEuros) * 6.55957
If cbxReduction <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(cbxAccompteEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(txtMontantRemiseEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) -
CDbl(txtMontantRemiseFrancs)
End If
'txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
'txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
End Sub
Private Sub cbxTypeDeSoiree_Change()
Set WSDonneesPrix = Sheets("Prix")
Set PlagePrix = WSDonneesPrix.Range("B4:B" &
WSDonneesPrix.Range("D65535").End(xlUp).Row)
On Error Resume Next
D = PlagePrix.Find(What:ËxTypeDeSoiree, LookAt:=xlWhole).Row
With WSDonneesPrix
txtPrixEuros = .Range("C" & D)
End With
If cbxTypeDeSoiree = "" Then
cbxAccompteEuros = ""
cbxReduction = ""
txtPrixFrancs = ""
txtPrixEuros = ""
txtAccompteFrancs = ""
txtSoldeFrancs = ""
txtSoldeEuros = ""
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
Else
cbxAccompteEuros.Enabled = True
cbxReduction.Enabled = True
End If
lblPrixFrancs.Visible = True
txtPrixFrancs.Visible = True
End Sub
Private Sub cmdQuitter_Click()
Unload Me
End Sub
Private Sub txtAccompteFrancs_Change()
On Error Resume Next
txtAccompteFrancs = Format(txtAccompteFrancs, "##,##0.00")
End Sub
Private Sub txtMontantRemiseEuros_Change()
txtMontantRemiseEuros = Format(txtMontantRemiseEuros, "##,##0.00")
End Sub
Private Sub txtMontantRemiseFrancs_Change()
txtMontantRemiseFrancs = Format(txtMontantRemiseFrancs, "##,##0.00")
End Sub
Private Sub txtPortableDeLaMariee_Change()
PhoneFormat txtPortableDeLaMariee
End Sub
Private Sub txtPortableDuMarie_Change()
PhoneFormat txtPortableDuMarie
End Sub
Private Sub txtPrixFrancs_Change()
txtPrixFrancs = Format(txtPrixFrancs, "##,##0.00")
End Sub
Private Sub txtDateDeLaPrestation_Change()
txtDateDeLaPrestation = Application.Proper(Format(Calendar1.Value,
"dddd d
mmmm yyyy"))
End Sub
Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub
Private Sub txtSoldeFrancs_Change()
txtSoldeFrancs = Format(txtSoldeFrancs, "##,##0.00")
If txtSoldeFrancs > 0 Then
lblSoldeFrancs.ForeColor = &HFF&
lblSoldeEuros.ForeColor = &HFF&
Else
lblSoldeFrancs.ForeColor = &H80000008
lblSoldeEuros.ForeColor = &H80000008
End If
End Sub
Private Sub txtAccompteEuros_Change()
On Error Resume Next
txtAccompteEuros = Format(txtAccompteEuros, "##,##0.00")
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(txtAccompteEuros)
End Sub
Private Sub txtPrixEuros_Change()
On Error Resume Next
If txtPrixEuros <> "" Then
txtPrixFrancs = CDbl(txtPrixEuros) * 6.55957
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
Else
txtPrixEuros = ""
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = -CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = ""
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs.Value = -CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = ""
End If
End If
txtPrixEuros = Format(txtSoldeEuros, "##,##0.00")
lblAccompteFrancs.Visible = True
cbxAccompteEuros.Visible = True
lblSoldeFrancs.Visible = True
txtSoldeFrancs.Visible = True
lblPrixEuros.Visible = True
txtPrixEuros.Visible = True
lblSoldeEuros.Visible = True
txtSoldeEuros.Visible = True
End Sub
Private Sub txtSoldeEuros_Change()
On Error Resume Next
txtSoldeEuros = Format(txtSoldeEuros, "##,##0.00")
End Sub
Private Sub txtNomDuMarie_Change()
txtNomDuMarie.Value = UCase(txtNomDuMarie.Value)
End Sub
Private Sub txtPrenomDuMarie_Change()
txtPrenomDuMarie = Application.Proper(txtPrenomDuMarie)
End Sub
Private Sub txtNomDeLaMariee_Change()
txtNomDeLaMariee.Value = UCase(txtNomDeLaMariee.Value)
End Sub
Private Sub txtPrenomDeLaMariee_Change()
txtPrenomDeLaMariee = Application.Proper(txtPrenomDeLaMariee)
End Sub
Private Sub UserForm_Initialize()
Dim Ctrl As Control
'Ici je vide les Controls
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox
Then
Ctrl = ""
End If
Next Ctrl
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
' Choix des Organisateurs, Nom des salles, Traiteurs, Type de soirée
Set WSDonneesPrix = Worksheets("Prix")
With WSDonneesPrix
PlageTypeDeSoirée = .Range("B4:B" &
.Range("B2000").End(xlUp).Row).Address
End With
cbxTypeDeSoiree.RowSource = "Prix!" & PlageTypeDeSoirée
' Choix de l'accompt
cbxAccompteEuros.AddItem "100,00"
cbxAccompteEuros.AddItem "200,00"
cbxAccompteEuros.AddItem "300,00"
'Réduction
cbxReduction.AddItem "10"
cbxReduction.AddItem "15"
cbxReduction.AddItem "20"
End Sub
En vous remerciant par avance, Jacques
Re
Je te remet un autre lien, car j'ai rajouté un boutn pour accéder
directement a L'UserForm.
http://cjoint.com/?kFmEhxd0Rz
Merci, jacques
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
uof0Ejg3FHA.1420@TK2MSFTNGP09.phx.gbl...
C'est difficile de voir comment tout ce code s'articule.
S'il ne contient rien de confidentiel, peux-tu poster ton classeur à
l'adresse :
www.cjoint.com ?
Daniel
"Jacques" <jacques-zeziola@wanadoo.fr> a écrit dans le message de news:
4365c325$0$7860$8fcfb975@news.wanadoo.fr...
Daniel, le groupe
Merci de m'avoir répondu :
Donc cette partie de UserForm, me sert a choisir le type de soirée, ce
qui valide un prix prédéfini (Ca cela fonctionne)
Ensuite, si le demandeur donne un accompte, cela fait bien le calcul.
Et si je décide de faire une reduction, le calcule, se fait bien aussi.
Par contre je me suis apercu, que si je m'étais trompé de type de
soirée, donc il faut que je change dans le ComboBox, et la cela ne va
plus, cela me met des chiffre qui n'on rien a voir dans les TextBox. Je
ne peu donc pas revenir en arrière , une fois, un accompte de mis et/ ou
une réduction appliquée.
Donc ce que j'aimerais c'est que même si j'ai fait un choix d'accompte
et/ou de réduction, que si je décide de changer de type de soirée, que
cela me modifie le prix et que cela recalcule l'ensemble.
Pour le second point, j'autais aimer pouvoir arréter la liste des
accomptes sans dépassé la valeur du prix partiqué.
Si par exemple le type de soirée est un mariage, le prix sera de 300 ?,
donc dans l'accompte si la liste il y avait comme choix 50, 100, 150,
200, 250, 300, 350, 400 et bien que cela s'arrète a 300 ?.
Voila, j'espère être plus claire, sinon, je peu te proposer un fichier
joint.
Merci encore, Jacques
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
e0M3zOd3FHA.3976@TK2MSFTNGP15.phx.gbl...
Bonjour.
Difficile de comprendre ce que tu veux faire avec ton userform. Peux-tu
préciser et donner un exemple de ce qui ne fonctionne pas (ce que tu
devrais obtenir et ce que tu obtiens, par exemple.
Cordialement.
Daniel
"Jacques" <jacques-zeziola@wanadoo.fr> a écrit dans le message de news:
4365401c$0$1021$8fcfb975@news.wanadoo.fr...
Salut a toutes et tous
Je réhitère mes soucient, car je ne sais pas si mon post c'est perdu.
Donc j'ai deux petits soucie :
Le premier :
Si je choisi un type de soirée et que je met sois un accompte, soit
une
réduction ou même les deux et que je veuille modifier le type de
soirée les
calculs me donnent des valeur qui n'on rien a voir.
Y'a t'il moyen d'y remedier ?
Le deuxième :
Cela est pour la valeur de l'accomte.
Pour le moment je passe par un ComboBox.Additem, mais cela serait il
possible de faire en sorte que l'accompte ne dépasse pas la valeur du
prix
de départ.
Voice les codes :
Dans un module :
Option Explicit
Public TypeDeSoiree As Byte
Dans l'userform :
Option Explicit
Dim Plage, PlagePrix As Range
Dim A, B, C, D As Long
Dim WSDonnees, WSDonneesPrix As Worksheet
Dim PlageTypeDeSoirée As String
Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne
Numéro
Private Sub cbxAccompteEuros_Change()
On Error Resume Next
If cbxAccompteEuros.Text = "" Then
txtAccompteFrancs = ""
End If
If cbxAccompteEuros = "" Then
lblAccompteFrancs.ForeColor = &H80000008
lblAccompteEuros.ForeColor = &H80000008
Else
lblAccompteFrancs.ForeColor = &HFF0000
lblAccompteEuros.ForeColor = &HFF0000
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxAccompteEuros <> "" Then
txtAccompteFrancs = CDbl(cbxAccompteEuros) * 6.55957
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
lblAccompteEuros.Visible = True
txtAccompteFrancs.Visible = True
End Sub
Private Sub cbxReduction_Change()
On Error Resume Next
If cbxReduction = "" Then
txtMontantRemiseEuros = ""
txtMontantRemiseFrancs = ""
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
Else
lblMontantRemiseEuros.Visible = True
lblMontantRemiseFrancs.Visible = True
txtMontantRemiseEuros.Visible = True
txtMontantRemiseFrancs.Visible = True
End If
txtMontantRemiseEuros = CDbl(txtPrixEuros) * CDbl(cbxReduction) / 100
txtMontantRemiseFrancs = CDbl(txtMontantRemiseEuros) * 6.55957
If cbxReduction <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(cbxAccompteEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(txtMontantRemiseEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) -
CDbl(txtMontantRemiseFrancs)
End If
'txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
'txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
End Sub
Private Sub cbxTypeDeSoiree_Change()
Set WSDonneesPrix = Sheets("Prix")
Set PlagePrix = WSDonneesPrix.Range("B4:B" &
WSDonneesPrix.Range("D65535").End(xlUp).Row)
On Error Resume Next
D = PlagePrix.Find(What:ËxTypeDeSoiree, LookAt:=xlWhole).Row
With WSDonneesPrix
txtPrixEuros = .Range("C" & D)
End With
If cbxTypeDeSoiree = "" Then
cbxAccompteEuros = ""
cbxReduction = ""
txtPrixFrancs = ""
txtPrixEuros = ""
txtAccompteFrancs = ""
txtSoldeFrancs = ""
txtSoldeEuros = ""
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
Else
cbxAccompteEuros.Enabled = True
cbxReduction.Enabled = True
End If
lblPrixFrancs.Visible = True
txtPrixFrancs.Visible = True
End Sub
Private Sub cmdQuitter_Click()
Unload Me
End Sub
Private Sub txtAccompteFrancs_Change()
On Error Resume Next
txtAccompteFrancs = Format(txtAccompteFrancs, "##,##0.00")
End Sub
Private Sub txtMontantRemiseEuros_Change()
txtMontantRemiseEuros = Format(txtMontantRemiseEuros, "##,##0.00")
End Sub
Private Sub txtMontantRemiseFrancs_Change()
txtMontantRemiseFrancs = Format(txtMontantRemiseFrancs, "##,##0.00")
End Sub
Private Sub txtPortableDeLaMariee_Change()
PhoneFormat txtPortableDeLaMariee
End Sub
Private Sub txtPortableDuMarie_Change()
PhoneFormat txtPortableDuMarie
End Sub
Private Sub txtPrixFrancs_Change()
txtPrixFrancs = Format(txtPrixFrancs, "##,##0.00")
End Sub
Private Sub txtDateDeLaPrestation_Change()
txtDateDeLaPrestation = Application.Proper(Format(Calendar1.Value,
"dddd d
mmmm yyyy"))
End Sub
Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub
Private Sub txtSoldeFrancs_Change()
txtSoldeFrancs = Format(txtSoldeFrancs, "##,##0.00")
If txtSoldeFrancs > 0 Then
lblSoldeFrancs.ForeColor = &HFF&
lblSoldeEuros.ForeColor = &HFF&
Else
lblSoldeFrancs.ForeColor = &H80000008
lblSoldeEuros.ForeColor = &H80000008
End If
End Sub
Private Sub txtAccompteEuros_Change()
On Error Resume Next
txtAccompteEuros = Format(txtAccompteEuros, "##,##0.00")
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(txtAccompteEuros)
End Sub
Private Sub txtPrixEuros_Change()
On Error Resume Next
If txtPrixEuros <> "" Then
txtPrixFrancs = CDbl(txtPrixEuros) * 6.55957
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
Else
txtPrixEuros = ""
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = -CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = ""
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs.Value = -CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = ""
End If
End If
txtPrixEuros = Format(txtSoldeEuros, "##,##0.00")
lblAccompteFrancs.Visible = True
cbxAccompteEuros.Visible = True
lblSoldeFrancs.Visible = True
txtSoldeFrancs.Visible = True
lblPrixEuros.Visible = True
txtPrixEuros.Visible = True
lblSoldeEuros.Visible = True
txtSoldeEuros.Visible = True
End Sub
Private Sub txtSoldeEuros_Change()
On Error Resume Next
txtSoldeEuros = Format(txtSoldeEuros, "##,##0.00")
End Sub
Private Sub txtNomDuMarie_Change()
txtNomDuMarie.Value = UCase(txtNomDuMarie.Value)
End Sub
Private Sub txtPrenomDuMarie_Change()
txtPrenomDuMarie = Application.Proper(txtPrenomDuMarie)
End Sub
Private Sub txtNomDeLaMariee_Change()
txtNomDeLaMariee.Value = UCase(txtNomDeLaMariee.Value)
End Sub
Private Sub txtPrenomDeLaMariee_Change()
txtPrenomDeLaMariee = Application.Proper(txtPrenomDeLaMariee)
End Sub
Private Sub UserForm_Initialize()
Dim Ctrl As Control
'Ici je vide les Controls
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox
Then
Ctrl = ""
End If
Next Ctrl
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
' Choix des Organisateurs, Nom des salles, Traiteurs, Type de soirée
Set WSDonneesPrix = Worksheets("Prix")
With WSDonneesPrix
PlageTypeDeSoirée = .Range("B4:B" &
.Range("B2000").End(xlUp).Row).Address
End With
cbxTypeDeSoiree.RowSource = "Prix!" & PlageTypeDeSoirée
' Choix de l'accompt
cbxAccompteEuros.AddItem "100,00"
cbxAccompteEuros.AddItem "200,00"
cbxAccompteEuros.AddItem "300,00"
'Réduction
cbxReduction.AddItem "10"
cbxReduction.AddItem "15"
cbxReduction.AddItem "20"
End Sub
En vous remerciant par avance, Jacques
Re
Je te remet un autre lien, car j'ai rajouté un boutn pour accéder
directement a L'UserForm.
http://cjoint.com/?kFmEhxd0Rz
Merci, jacques
"Daniel" a écrit dans le message de news:C'est difficile de voir comment tout ce code s'articule.
S'il ne contient rien de confidentiel, peux-tu poster ton classeur à
l'adresse :
www.cjoint.com ?
Daniel
"Jacques" a écrit dans le message de news:
4365c325$0$7860$Daniel, le groupe
Merci de m'avoir répondu :
Donc cette partie de UserForm, me sert a choisir le type de soirée, ce
qui valide un prix prédéfini (Ca cela fonctionne)
Ensuite, si le demandeur donne un accompte, cela fait bien le calcul.
Et si je décide de faire une reduction, le calcule, se fait bien aussi.
Par contre je me suis apercu, que si je m'étais trompé de type de
soirée, donc il faut que je change dans le ComboBox, et la cela ne va
plus, cela me met des chiffre qui n'on rien a voir dans les TextBox. Je
ne peu donc pas revenir en arrière , une fois, un accompte de mis et/ ou
une réduction appliquée.
Donc ce que j'aimerais c'est que même si j'ai fait un choix d'accompte
et/ou de réduction, que si je décide de changer de type de soirée, que
cela me modifie le prix et que cela recalcule l'ensemble.
Pour le second point, j'autais aimer pouvoir arréter la liste des
accomptes sans dépassé la valeur du prix partiqué.
Si par exemple le type de soirée est un mariage, le prix sera de 300 ?,
donc dans l'accompte si la liste il y avait comme choix 50, 100, 150,
200, 250, 300, 350, 400 et bien que cela s'arrète a 300 ?.
Voila, j'espère être plus claire, sinon, je peu te proposer un fichier
joint.
Merci encore, Jacques
"Daniel" a écrit dans le message de news:Bonjour.
Difficile de comprendre ce que tu veux faire avec ton userform. Peux-tu
préciser et donner un exemple de ce qui ne fonctionne pas (ce que tu
devrais obtenir et ce que tu obtiens, par exemple.
Cordialement.
Daniel
"Jacques" a écrit dans le message de news:
4365401c$0$1021$Salut a toutes et tous
Je réhitère mes soucient, car je ne sais pas si mon post c'est perdu.
Donc j'ai deux petits soucie :
Le premier :
Si je choisi un type de soirée et que je met sois un accompte, soit
une
réduction ou même les deux et que je veuille modifier le type de
soirée les
calculs me donnent des valeur qui n'on rien a voir.
Y'a t'il moyen d'y remedier ?
Le deuxième :
Cela est pour la valeur de l'accomte.
Pour le moment je passe par un ComboBox.Additem, mais cela serait il
possible de faire en sorte que l'accompte ne dépasse pas la valeur du
prix
de départ.
Voice les codes :
Dans un module :
Option Explicit
Public TypeDeSoiree As Byte
Dans l'userform :
Option Explicit
Dim Plage, PlagePrix As Range
Dim A, B, C, D As Long
Dim WSDonnees, WSDonneesPrix As Worksheet
Dim PlageTypeDeSoirée As String
Dim L As Integer 'Déclaration de variable "L" pour connaitre la Ligne
Numéro
Private Sub cbxAccompteEuros_Change()
On Error Resume Next
If cbxAccompteEuros.Text = "" Then
txtAccompteFrancs = ""
End If
If cbxAccompteEuros = "" Then
lblAccompteFrancs.ForeColor = &H80000008
lblAccompteEuros.ForeColor = &H80000008
Else
lblAccompteFrancs.ForeColor = &HFF0000
lblAccompteEuros.ForeColor = &HFF0000
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxAccompteEuros <> "" Then
txtAccompteFrancs = CDbl(cbxAccompteEuros) * 6.55957
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
lblAccompteEuros.Visible = True
txtAccompteFrancs.Visible = True
End Sub
Private Sub cbxReduction_Change()
On Error Resume Next
If cbxReduction = "" Then
txtMontantRemiseEuros = ""
txtMontantRemiseFrancs = ""
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
Else
lblMontantRemiseEuros.Visible = True
lblMontantRemiseFrancs.Visible = True
txtMontantRemiseEuros.Visible = True
txtMontantRemiseFrancs.Visible = True
End If
txtMontantRemiseEuros = CDbl(txtPrixEuros) * CDbl(cbxReduction) / 100
txtMontantRemiseFrancs = CDbl(txtMontantRemiseEuros) * 6.55957
If cbxReduction <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(cbxAccompteEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(txtMontantRemiseEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) -
CDbl(txtMontantRemiseFrancs)
End If
'txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
'txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
End Sub
Private Sub cbxTypeDeSoiree_Change()
Set WSDonneesPrix = Sheets("Prix")
Set PlagePrix = WSDonneesPrix.Range("B4:B" &
WSDonneesPrix.Range("D65535").End(xlUp).Row)
On Error Resume Next
D = PlagePrix.Find(What:ËxTypeDeSoiree, LookAt:=xlWhole).Row
With WSDonneesPrix
txtPrixEuros = .Range("C" & D)
End With
If cbxTypeDeSoiree = "" Then
cbxAccompteEuros = ""
cbxReduction = ""
txtPrixFrancs = ""
txtPrixEuros = ""
txtAccompteFrancs = ""
txtSoldeFrancs = ""
txtSoldeEuros = ""
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
Else
cbxAccompteEuros.Enabled = True
cbxReduction.Enabled = True
End If
lblPrixFrancs.Visible = True
txtPrixFrancs.Visible = True
End Sub
Private Sub cmdQuitter_Click()
Unload Me
End Sub
Private Sub txtAccompteFrancs_Change()
On Error Resume Next
txtAccompteFrancs = Format(txtAccompteFrancs, "##,##0.00")
End Sub
Private Sub txtMontantRemiseEuros_Change()
txtMontantRemiseEuros = Format(txtMontantRemiseEuros, "##,##0.00")
End Sub
Private Sub txtMontantRemiseFrancs_Change()
txtMontantRemiseFrancs = Format(txtMontantRemiseFrancs, "##,##0.00")
End Sub
Private Sub txtPortableDeLaMariee_Change()
PhoneFormat txtPortableDeLaMariee
End Sub
Private Sub txtPortableDuMarie_Change()
PhoneFormat txtPortableDuMarie
End Sub
Private Sub txtPrixFrancs_Change()
txtPrixFrancs = Format(txtPrixFrancs, "##,##0.00")
End Sub
Private Sub txtDateDeLaPrestation_Change()
txtDateDeLaPrestation = Application.Proper(Format(Calendar1.Value,
"dddd d
mmmm yyyy"))
End Sub
Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub
Private Sub txtSoldeFrancs_Change()
txtSoldeFrancs = Format(txtSoldeFrancs, "##,##0.00")
If txtSoldeFrancs > 0 Then
lblSoldeFrancs.ForeColor = &HFF&
lblSoldeEuros.ForeColor = &HFF&
Else
lblSoldeFrancs.ForeColor = &H80000008
lblSoldeEuros.ForeColor = &H80000008
End If
End Sub
Private Sub txtAccompteEuros_Change()
On Error Resume Next
txtAccompteEuros = Format(txtAccompteEuros, "##,##0.00")
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(txtAccompteEuros)
End Sub
Private Sub txtPrixEuros_Change()
On Error Resume Next
If txtPrixEuros <> "" Then
txtPrixFrancs = CDbl(txtPrixEuros) * 6.55957
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
Else
txtPrixEuros = ""
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = -CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = ""
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs.Value = -CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = ""
End If
End If
txtPrixEuros = Format(txtSoldeEuros, "##,##0.00")
lblAccompteFrancs.Visible = True
cbxAccompteEuros.Visible = True
lblSoldeFrancs.Visible = True
txtSoldeFrancs.Visible = True
lblPrixEuros.Visible = True
txtPrixEuros.Visible = True
lblSoldeEuros.Visible = True
txtSoldeEuros.Visible = True
End Sub
Private Sub txtSoldeEuros_Change()
On Error Resume Next
txtSoldeEuros = Format(txtSoldeEuros, "##,##0.00")
End Sub
Private Sub txtNomDuMarie_Change()
txtNomDuMarie.Value = UCase(txtNomDuMarie.Value)
End Sub
Private Sub txtPrenomDuMarie_Change()
txtPrenomDuMarie = Application.Proper(txtPrenomDuMarie)
End Sub
Private Sub txtNomDeLaMariee_Change()
txtNomDeLaMariee.Value = UCase(txtNomDeLaMariee.Value)
End Sub
Private Sub txtPrenomDeLaMariee_Change()
txtPrenomDeLaMariee = Application.Proper(txtPrenomDeLaMariee)
End Sub
Private Sub UserForm_Initialize()
Dim Ctrl As Control
'Ici je vide les Controls
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox
Then
Ctrl = ""
End If
Next Ctrl
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
' Choix des Organisateurs, Nom des salles, Traiteurs, Type de soirée
Set WSDonneesPrix = Worksheets("Prix")
With WSDonneesPrix
PlageTypeDeSoirée = .Range("B4:B" &
.Range("B2000").End(xlUp).Row).Address
End With
cbxTypeDeSoiree.RowSource = "Prix!" & PlageTypeDeSoirée
' Choix de l'accompt
cbxAccompteEuros.AddItem "100,00"
cbxAccompteEuros.AddItem "200,00"
cbxAccompteEuros.AddItem "300,00"
'Réduction
cbxReduction.AddItem "10"
cbxReduction.AddItem "15"
cbxReduction.AddItem "20"
End Sub
En vous remerciant par avance, Jacques
Daniel, Michel, le groupe
Je suis sincèrement désolé de cet oublie de code, j'ai du me trompé lors
du
choix du fichier a joindre.
Je rectifie, si cela n'est pas trop tard.
Michel, j'ai regardé, mais n'ayant pas tous les éléments en main de ce que
j'avais fais je comprends que tu n'as pas pu faire ce que je n'arrive pas
a
obtenir.
Revoici le lien, si cela peu encore se faire :
http://cjoint.com/?kFvmGiCTa1
Je te remercie encore ainsi que daniel, Jacques
"Jacques" a écrit dans le message de news:
436600e9$0$27432$Re
Je te remet un autre lien, car j'ai rajouté un boutn pour accéder
directement a L'UserForm.
http://cjoint.com/?kFmEhxd0Rz
Merci, jacques
"Daniel" a écrit dans le message de news:C'est difficile de voir comment tout ce code s'articule.
S'il ne contient rien de confidentiel, peux-tu poster ton classeur à
l'adresse :
www.cjoint.com ?
Daniel
"Jacques" a écrit dans le message de news:
4365c325$0$7860$Daniel, le groupe
Merci de m'avoir répondu :
Donc cette partie de UserForm, me sert a choisir le type de soirée, ce
qui valide un prix prédéfini (Ca cela fonctionne)
Ensuite, si le demandeur donne un accompte, cela fait bien le calcul.
Et si je décide de faire une reduction, le calcule, se fait bien
aussi.
Par contre je me suis apercu, que si je m'étais trompé de type de
soirée, donc il faut que je change dans le ComboBox, et la cela ne va
plus, cela me met des chiffre qui n'on rien a voir dans les TextBox.
Je
ne peu donc pas revenir en arrière , une fois, un accompte de mis et/
ou
une réduction appliquée.
Donc ce que j'aimerais c'est que même si j'ai fait un choix d'accompte
et/ou de réduction, que si je décide de changer de type de soirée, que
cela me modifie le prix et que cela recalcule l'ensemble.
Pour le second point, j'autais aimer pouvoir arréter la liste des
accomptes sans dépassé la valeur du prix partiqué.
Si par exemple le type de soirée est un mariage, le prix sera de 300
?,
donc dans l'accompte si la liste il y avait comme choix 50, 100, 150,
200, 250, 300, 350, 400 et bien que cela s'arrète a 300 ?.
Voila, j'espère être plus claire, sinon, je peu te proposer un fichier
joint.
Merci encore, Jacques
"Daniel" a écrit dans le message de news:Bonjour.
Difficile de comprendre ce que tu veux faire avec ton userform.
Peux-tu
préciser et donner un exemple de ce qui ne fonctionne pas (ce que tu
devrais obtenir et ce que tu obtiens, par exemple.
Cordialement.
Daniel
"Jacques" a écrit dans le message de
news:
4365401c$0$1021$Salut a toutes et tous
Je réhitère mes soucient, car je ne sais pas si mon post c'est
perdu.
Donc j'ai deux petits soucie :
Le premier :
Si je choisi un type de soirée et que je met sois un accompte, soit
une
réduction ou même les deux et que je veuille modifier le type de
soirée les
calculs me donnent des valeur qui n'on rien a voir.
Y'a t'il moyen d'y remedier ?
Le deuxième :
Cela est pour la valeur de l'accomte.
Pour le moment je passe par un ComboBox.Additem, mais cela serait il
possible de faire en sorte que l'accompte ne dépasse pas la valeur
du
prix
de départ.
Voice les codes :
Dans un module :
Option Explicit
Public TypeDeSoiree As Byte
Dans l'userform :
Option Explicit
Dim Plage, PlagePrix As Range
Dim A, B, C, D As Long
Dim WSDonnees, WSDonneesPrix As Worksheet
Dim PlageTypeDeSoirée As String
Dim L As Integer 'Déclaration de variable "L" pour connaitre la
Ligne
Numéro
Private Sub cbxAccompteEuros_Change()
On Error Resume Next
If cbxAccompteEuros.Text = "" Then
txtAccompteFrancs = ""
End If
If cbxAccompteEuros = "" Then
lblAccompteFrancs.ForeColor = &H80000008
lblAccompteEuros.ForeColor = &H80000008
Else
lblAccompteFrancs.ForeColor = &HFF0000
lblAccompteEuros.ForeColor = &HFF0000
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxAccompteEuros <> "" Then
txtAccompteFrancs = CDbl(cbxAccompteEuros) * 6.55957
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
lblAccompteEuros.Visible = True
txtAccompteFrancs.Visible = True
End Sub
Private Sub cbxReduction_Change()
On Error Resume Next
If cbxReduction = "" Then
txtMontantRemiseEuros = ""
txtMontantRemiseFrancs = ""
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
Else
lblMontantRemiseEuros.Visible = True
lblMontantRemiseFrancs.Visible = True
txtMontantRemiseEuros.Visible = True
txtMontantRemiseFrancs.Visible = True
End If
txtMontantRemiseEuros = CDbl(txtPrixEuros) * CDbl(cbxReduction) /
100
txtMontantRemiseFrancs = CDbl(txtMontantRemiseEuros) * 6.55957
If cbxReduction <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(cbxAccompteEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) -
CDbl(txtMontantRemiseEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) -
CDbl(txtMontantRemiseFrancs)
End If
'txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
'txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
End Sub
Private Sub cbxTypeDeSoiree_Change()
Set WSDonneesPrix = Sheets("Prix")
Set PlagePrix = WSDonneesPrix.Range("B4:B" &
WSDonneesPrix.Range("D65535").End(xlUp).Row)
On Error Resume Next
D = PlagePrix.Find(What:ËxTypeDeSoiree, LookAt:=xlWhole).Row
With WSDonneesPrix
txtPrixEuros = .Range("C" & D)
End With
If cbxTypeDeSoiree = "" Then
cbxAccompteEuros = ""
cbxReduction = ""
txtPrixFrancs = ""
txtPrixEuros = ""
txtAccompteFrancs = ""
txtSoldeFrancs = ""
txtSoldeEuros = ""
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
Else
cbxAccompteEuros.Enabled = True
cbxReduction.Enabled = True
End If
lblPrixFrancs.Visible = True
txtPrixFrancs.Visible = True
End Sub
Private Sub cmdQuitter_Click()
Unload Me
End Sub
Private Sub txtAccompteFrancs_Change()
On Error Resume Next
txtAccompteFrancs = Format(txtAccompteFrancs, "##,##0.00")
End Sub
Private Sub txtMontantRemiseEuros_Change()
txtMontantRemiseEuros = Format(txtMontantRemiseEuros, "##,##0.00")
End Sub
Private Sub txtMontantRemiseFrancs_Change()
txtMontantRemiseFrancs = Format(txtMontantRemiseFrancs, "##,##0.00")
End Sub
Private Sub txtPortableDeLaMariee_Change()
PhoneFormat txtPortableDeLaMariee
End Sub
Private Sub txtPortableDuMarie_Change()
PhoneFormat txtPortableDuMarie
End Sub
Private Sub txtPrixFrancs_Change()
txtPrixFrancs = Format(txtPrixFrancs, "##,##0.00")
End Sub
Private Sub txtDateDeLaPrestation_Change()
txtDateDeLaPrestation = Application.Proper(Format(Calendar1.Value,
"dddd d
mmmm yyyy"))
End Sub
Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub
Private Sub txtSoldeFrancs_Change()
txtSoldeFrancs = Format(txtSoldeFrancs, "##,##0.00")
If txtSoldeFrancs > 0 Then
lblSoldeFrancs.ForeColor = &HFF&
lblSoldeEuros.ForeColor = &HFF&
Else
lblSoldeFrancs.ForeColor = &H80000008
lblSoldeEuros.ForeColor = &H80000008
End If
End Sub
Private Sub txtAccompteEuros_Change()
On Error Resume Next
txtAccompteEuros = Format(txtAccompteEuros, "##,##0.00")
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(txtAccompteEuros)
End Sub
Private Sub txtPrixEuros_Change()
On Error Resume Next
If txtPrixEuros <> "" Then
txtPrixFrancs = CDbl(txtPrixEuros) * 6.55957
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) -
CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
Else
txtPrixEuros = ""
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = -CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = ""
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs.Value = -CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = ""
End If
End If
txtPrixEuros = Format(txtSoldeEuros, "##,##0.00")
lblAccompteFrancs.Visible = True
cbxAccompteEuros.Visible = True
lblSoldeFrancs.Visible = True
txtSoldeFrancs.Visible = True
lblPrixEuros.Visible = True
txtPrixEuros.Visible = True
lblSoldeEuros.Visible = True
txtSoldeEuros.Visible = True
End Sub
Private Sub txtSoldeEuros_Change()
On Error Resume Next
txtSoldeEuros = Format(txtSoldeEuros, "##,##0.00")
End Sub
Private Sub txtNomDuMarie_Change()
txtNomDuMarie.Value = UCase(txtNomDuMarie.Value)
End Sub
Private Sub txtPrenomDuMarie_Change()
txtPrenomDuMarie = Application.Proper(txtPrenomDuMarie)
End Sub
Private Sub txtNomDeLaMariee_Change()
txtNomDeLaMariee.Value = UCase(txtNomDeLaMariee.Value)
End Sub
Private Sub txtPrenomDeLaMariee_Change()
txtPrenomDeLaMariee = Application.Proper(txtPrenomDeLaMariee)
End Sub
Private Sub UserForm_Initialize()
Dim Ctrl As Control
'Ici je vide les Controls
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox
Then
Ctrl = ""
End If
Next Ctrl
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
' Choix des Organisateurs, Nom des salles, Traiteurs, Type de soirée
Set WSDonneesPrix = Worksheets("Prix")
With WSDonneesPrix
PlageTypeDeSoirée = .Range("B4:B" &
.Range("B2000").End(xlUp).Row).Address
End With
cbxTypeDeSoiree.RowSource = "Prix!" & PlageTypeDeSoirée
' Choix de l'accompt
cbxAccompteEuros.AddItem "100,00"
cbxAccompteEuros.AddItem "200,00"
cbxAccompteEuros.AddItem "300,00"
'Réduction
cbxReduction.AddItem "10"
cbxReduction.AddItem "15"
cbxReduction.AddItem "20"
End Sub
En vous remerciant par avance, Jacques
Daniel, Michel, le groupe
Je suis sincèrement désolé de cet oublie de code, j'ai du me trompé lors
du
choix du fichier a joindre.
Je rectifie, si cela n'est pas trop tard.
Michel, j'ai regardé, mais n'ayant pas tous les éléments en main de ce que
j'avais fais je comprends que tu n'as pas pu faire ce que je n'arrive pas
a
obtenir.
Revoici le lien, si cela peu encore se faire :
http://cjoint.com/?kFvmGiCTa1
Je te remercie encore ainsi que daniel, Jacques
"Jacques" <jacques-zeziola@wanadoo.fr> a écrit dans le message de news:
436600e9$0$27432$8fcfb975@news.wanadoo.fr...
Re
Je te remet un autre lien, car j'ai rajouté un boutn pour accéder
directement a L'UserForm.
http://cjoint.com/?kFmEhxd0Rz
Merci, jacques
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
uof0Ejg3FHA.1420@TK2MSFTNGP09.phx.gbl...
C'est difficile de voir comment tout ce code s'articule.
S'il ne contient rien de confidentiel, peux-tu poster ton classeur à
l'adresse :
www.cjoint.com ?
Daniel
"Jacques" <jacques-zeziola@wanadoo.fr> a écrit dans le message de news:
4365c325$0$7860$8fcfb975@news.wanadoo.fr...
Daniel, le groupe
Merci de m'avoir répondu :
Donc cette partie de UserForm, me sert a choisir le type de soirée, ce
qui valide un prix prédéfini (Ca cela fonctionne)
Ensuite, si le demandeur donne un accompte, cela fait bien le calcul.
Et si je décide de faire une reduction, le calcule, se fait bien
aussi.
Par contre je me suis apercu, que si je m'étais trompé de type de
soirée, donc il faut que je change dans le ComboBox, et la cela ne va
plus, cela me met des chiffre qui n'on rien a voir dans les TextBox.
Je
ne peu donc pas revenir en arrière , une fois, un accompte de mis et/
ou
une réduction appliquée.
Donc ce que j'aimerais c'est que même si j'ai fait un choix d'accompte
et/ou de réduction, que si je décide de changer de type de soirée, que
cela me modifie le prix et que cela recalcule l'ensemble.
Pour le second point, j'autais aimer pouvoir arréter la liste des
accomptes sans dépassé la valeur du prix partiqué.
Si par exemple le type de soirée est un mariage, le prix sera de 300
?,
donc dans l'accompte si la liste il y avait comme choix 50, 100, 150,
200, 250, 300, 350, 400 et bien que cela s'arrète a 300 ?.
Voila, j'espère être plus claire, sinon, je peu te proposer un fichier
joint.
Merci encore, Jacques
"Daniel" <dZZZcolardelle@free.fr> a écrit dans le message de news:
e0M3zOd3FHA.3976@TK2MSFTNGP15.phx.gbl...
Bonjour.
Difficile de comprendre ce que tu veux faire avec ton userform.
Peux-tu
préciser et donner un exemple de ce qui ne fonctionne pas (ce que tu
devrais obtenir et ce que tu obtiens, par exemple.
Cordialement.
Daniel
"Jacques" <jacques-zeziola@wanadoo.fr> a écrit dans le message de
news:
4365401c$0$1021$8fcfb975@news.wanadoo.fr...
Salut a toutes et tous
Je réhitère mes soucient, car je ne sais pas si mon post c'est
perdu.
Donc j'ai deux petits soucie :
Le premier :
Si je choisi un type de soirée et que je met sois un accompte, soit
une
réduction ou même les deux et que je veuille modifier le type de
soirée les
calculs me donnent des valeur qui n'on rien a voir.
Y'a t'il moyen d'y remedier ?
Le deuxième :
Cela est pour la valeur de l'accomte.
Pour le moment je passe par un ComboBox.Additem, mais cela serait il
possible de faire en sorte que l'accompte ne dépasse pas la valeur
du
prix
de départ.
Voice les codes :
Dans un module :
Option Explicit
Public TypeDeSoiree As Byte
Dans l'userform :
Option Explicit
Dim Plage, PlagePrix As Range
Dim A, B, C, D As Long
Dim WSDonnees, WSDonneesPrix As Worksheet
Dim PlageTypeDeSoirée As String
Dim L As Integer 'Déclaration de variable "L" pour connaitre la
Ligne
Numéro
Private Sub cbxAccompteEuros_Change()
On Error Resume Next
If cbxAccompteEuros.Text = "" Then
txtAccompteFrancs = ""
End If
If cbxAccompteEuros = "" Then
lblAccompteFrancs.ForeColor = &H80000008
lblAccompteEuros.ForeColor = &H80000008
Else
lblAccompteFrancs.ForeColor = &HFF0000
lblAccompteEuros.ForeColor = &HFF0000
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxAccompteEuros <> "" Then
txtAccompteFrancs = CDbl(cbxAccompteEuros) * 6.55957
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
lblAccompteEuros.Visible = True
txtAccompteFrancs.Visible = True
End Sub
Private Sub cbxReduction_Change()
On Error Resume Next
If cbxReduction = "" Then
txtMontantRemiseEuros = ""
txtMontantRemiseFrancs = ""
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
Else
lblMontantRemiseEuros.Visible = True
lblMontantRemiseFrancs.Visible = True
txtMontantRemiseEuros.Visible = True
txtMontantRemiseFrancs.Visible = True
End If
txtMontantRemiseEuros = CDbl(txtPrixEuros) * CDbl(cbxReduction) /
100
txtMontantRemiseFrancs = CDbl(txtMontantRemiseEuros) * 6.55957
If cbxReduction <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(cbxAccompteEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) -
CDbl(txtMontantRemiseEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) -
CDbl(txtMontantRemiseFrancs)
End If
'txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
'txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
End Sub
Private Sub cbxTypeDeSoiree_Change()
Set WSDonneesPrix = Sheets("Prix")
Set PlagePrix = WSDonneesPrix.Range("B4:B" &
WSDonneesPrix.Range("D65535").End(xlUp).Row)
On Error Resume Next
D = PlagePrix.Find(What:ËxTypeDeSoiree, LookAt:=xlWhole).Row
With WSDonneesPrix
txtPrixEuros = .Range("C" & D)
End With
If cbxTypeDeSoiree = "" Then
cbxAccompteEuros = ""
cbxReduction = ""
txtPrixFrancs = ""
txtPrixEuros = ""
txtAccompteFrancs = ""
txtSoldeFrancs = ""
txtSoldeEuros = ""
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
Else
cbxAccompteEuros.Enabled = True
cbxReduction.Enabled = True
End If
lblPrixFrancs.Visible = True
txtPrixFrancs.Visible = True
End Sub
Private Sub cmdQuitter_Click()
Unload Me
End Sub
Private Sub txtAccompteFrancs_Change()
On Error Resume Next
txtAccompteFrancs = Format(txtAccompteFrancs, "##,##0.00")
End Sub
Private Sub txtMontantRemiseEuros_Change()
txtMontantRemiseEuros = Format(txtMontantRemiseEuros, "##,##0.00")
End Sub
Private Sub txtMontantRemiseFrancs_Change()
txtMontantRemiseFrancs = Format(txtMontantRemiseFrancs, "##,##0.00")
End Sub
Private Sub txtPortableDeLaMariee_Change()
PhoneFormat txtPortableDeLaMariee
End Sub
Private Sub txtPortableDuMarie_Change()
PhoneFormat txtPortableDuMarie
End Sub
Private Sub txtPrixFrancs_Change()
txtPrixFrancs = Format(txtPrixFrancs, "##,##0.00")
End Sub
Private Sub txtDateDeLaPrestation_Change()
txtDateDeLaPrestation = Application.Proper(Format(Calendar1.Value,
"dddd d
mmmm yyyy"))
End Sub
Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub
Private Sub txtSoldeFrancs_Change()
txtSoldeFrancs = Format(txtSoldeFrancs, "##,##0.00")
If txtSoldeFrancs > 0 Then
lblSoldeFrancs.ForeColor = &HFF&
lblSoldeEuros.ForeColor = &HFF&
Else
lblSoldeFrancs.ForeColor = &H80000008
lblSoldeEuros.ForeColor = &H80000008
End If
End Sub
Private Sub txtAccompteEuros_Change()
On Error Resume Next
txtAccompteEuros = Format(txtAccompteEuros, "##,##0.00")
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(txtAccompteEuros)
End Sub
Private Sub txtPrixEuros_Change()
On Error Resume Next
If txtPrixEuros <> "" Then
txtPrixFrancs = CDbl(txtPrixEuros) * 6.55957
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) -
CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
Else
txtPrixEuros = ""
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = -CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = ""
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs.Value = -CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = ""
End If
End If
txtPrixEuros = Format(txtSoldeEuros, "##,##0.00")
lblAccompteFrancs.Visible = True
cbxAccompteEuros.Visible = True
lblSoldeFrancs.Visible = True
txtSoldeFrancs.Visible = True
lblPrixEuros.Visible = True
txtPrixEuros.Visible = True
lblSoldeEuros.Visible = True
txtSoldeEuros.Visible = True
End Sub
Private Sub txtSoldeEuros_Change()
On Error Resume Next
txtSoldeEuros = Format(txtSoldeEuros, "##,##0.00")
End Sub
Private Sub txtNomDuMarie_Change()
txtNomDuMarie.Value = UCase(txtNomDuMarie.Value)
End Sub
Private Sub txtPrenomDuMarie_Change()
txtPrenomDuMarie = Application.Proper(txtPrenomDuMarie)
End Sub
Private Sub txtNomDeLaMariee_Change()
txtNomDeLaMariee.Value = UCase(txtNomDeLaMariee.Value)
End Sub
Private Sub txtPrenomDeLaMariee_Change()
txtPrenomDeLaMariee = Application.Proper(txtPrenomDeLaMariee)
End Sub
Private Sub UserForm_Initialize()
Dim Ctrl As Control
'Ici je vide les Controls
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox
Then
Ctrl = ""
End If
Next Ctrl
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
' Choix des Organisateurs, Nom des salles, Traiteurs, Type de soirée
Set WSDonneesPrix = Worksheets("Prix")
With WSDonneesPrix
PlageTypeDeSoirée = .Range("B4:B" &
.Range("B2000").End(xlUp).Row).Address
End With
cbxTypeDeSoiree.RowSource = "Prix!" & PlageTypeDeSoirée
' Choix de l'accompt
cbxAccompteEuros.AddItem "100,00"
cbxAccompteEuros.AddItem "200,00"
cbxAccompteEuros.AddItem "300,00"
'Réduction
cbxReduction.AddItem "10"
cbxReduction.AddItem "15"
cbxReduction.AddItem "20"
End Sub
En vous remerciant par avance, Jacques
Daniel, Michel, le groupe
Je suis sincèrement désolé de cet oublie de code, j'ai du me trompé lors
du
choix du fichier a joindre.
Je rectifie, si cela n'est pas trop tard.
Michel, j'ai regardé, mais n'ayant pas tous les éléments en main de ce que
j'avais fais je comprends que tu n'as pas pu faire ce que je n'arrive pas
a
obtenir.
Revoici le lien, si cela peu encore se faire :
http://cjoint.com/?kFvmGiCTa1
Je te remercie encore ainsi que daniel, Jacques
"Jacques" a écrit dans le message de news:
436600e9$0$27432$Re
Je te remet un autre lien, car j'ai rajouté un boutn pour accéder
directement a L'UserForm.
http://cjoint.com/?kFmEhxd0Rz
Merci, jacques
"Daniel" a écrit dans le message de news:C'est difficile de voir comment tout ce code s'articule.
S'il ne contient rien de confidentiel, peux-tu poster ton classeur à
l'adresse :
www.cjoint.com ?
Daniel
"Jacques" a écrit dans le message de news:
4365c325$0$7860$Daniel, le groupe
Merci de m'avoir répondu :
Donc cette partie de UserForm, me sert a choisir le type de soirée, ce
qui valide un prix prédéfini (Ca cela fonctionne)
Ensuite, si le demandeur donne un accompte, cela fait bien le calcul.
Et si je décide de faire une reduction, le calcule, se fait bien
aussi.
Par contre je me suis apercu, que si je m'étais trompé de type de
soirée, donc il faut que je change dans le ComboBox, et la cela ne va
plus, cela me met des chiffre qui n'on rien a voir dans les TextBox.
Je
ne peu donc pas revenir en arrière , une fois, un accompte de mis et/
ou
une réduction appliquée.
Donc ce que j'aimerais c'est que même si j'ai fait un choix d'accompte
et/ou de réduction, que si je décide de changer de type de soirée, que
cela me modifie le prix et que cela recalcule l'ensemble.
Pour le second point, j'autais aimer pouvoir arréter la liste des
accomptes sans dépassé la valeur du prix partiqué.
Si par exemple le type de soirée est un mariage, le prix sera de 300
?,
donc dans l'accompte si la liste il y avait comme choix 50, 100, 150,
200, 250, 300, 350, 400 et bien que cela s'arrète a 300 ?.
Voila, j'espère être plus claire, sinon, je peu te proposer un fichier
joint.
Merci encore, Jacques
"Daniel" a écrit dans le message de news:Bonjour.
Difficile de comprendre ce que tu veux faire avec ton userform.
Peux-tu
préciser et donner un exemple de ce qui ne fonctionne pas (ce que tu
devrais obtenir et ce que tu obtiens, par exemple.
Cordialement.
Daniel
"Jacques" a écrit dans le message de
news:
4365401c$0$1021$Salut a toutes et tous
Je réhitère mes soucient, car je ne sais pas si mon post c'est
perdu.
Donc j'ai deux petits soucie :
Le premier :
Si je choisi un type de soirée et que je met sois un accompte, soit
une
réduction ou même les deux et que je veuille modifier le type de
soirée les
calculs me donnent des valeur qui n'on rien a voir.
Y'a t'il moyen d'y remedier ?
Le deuxième :
Cela est pour la valeur de l'accomte.
Pour le moment je passe par un ComboBox.Additem, mais cela serait il
possible de faire en sorte que l'accompte ne dépasse pas la valeur
du
prix
de départ.
Voice les codes :
Dans un module :
Option Explicit
Public TypeDeSoiree As Byte
Dans l'userform :
Option Explicit
Dim Plage, PlagePrix As Range
Dim A, B, C, D As Long
Dim WSDonnees, WSDonneesPrix As Worksheet
Dim PlageTypeDeSoirée As String
Dim L As Integer 'Déclaration de variable "L" pour connaitre la
Ligne
Numéro
Private Sub cbxAccompteEuros_Change()
On Error Resume Next
If cbxAccompteEuros.Text = "" Then
txtAccompteFrancs = ""
End If
If cbxAccompteEuros = "" Then
lblAccompteFrancs.ForeColor = &H80000008
lblAccompteEuros.ForeColor = &H80000008
Else
lblAccompteFrancs.ForeColor = &HFF0000
lblAccompteEuros.ForeColor = &HFF0000
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxAccompteEuros <> "" Then
txtAccompteFrancs = CDbl(cbxAccompteEuros) * 6.55957
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
lblAccompteEuros.Visible = True
txtAccompteFrancs.Visible = True
End Sub
Private Sub cbxReduction_Change()
On Error Resume Next
If cbxReduction = "" Then
txtMontantRemiseEuros = ""
txtMontantRemiseFrancs = ""
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
Else
lblMontantRemiseEuros.Visible = True
lblMontantRemiseFrancs.Visible = True
txtMontantRemiseEuros.Visible = True
txtMontantRemiseFrancs.Visible = True
End If
txtMontantRemiseEuros = CDbl(txtPrixEuros) * CDbl(cbxReduction) /
100
txtMontantRemiseFrancs = CDbl(txtMontantRemiseEuros) * 6.55957
If cbxReduction <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) - CDbl(cbxAccompteEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros) -
CDbl(txtMontantRemiseEuros)
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) -
CDbl(txtMontantRemiseFrancs)
End If
'txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros) -
CDbl(txtMontantRemiseEuros)
'txtSoldeFrancs = CDbl(txtPrixFrancs) - CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseFrancs)
End Sub
Private Sub cbxTypeDeSoiree_Change()
Set WSDonneesPrix = Sheets("Prix")
Set PlagePrix = WSDonneesPrix.Range("B4:B" &
WSDonneesPrix.Range("D65535").End(xlUp).Row)
On Error Resume Next
D = PlagePrix.Find(What:ËxTypeDeSoiree, LookAt:=xlWhole).Row
With WSDonneesPrix
txtPrixEuros = .Range("C" & D)
End With
If cbxTypeDeSoiree = "" Then
cbxAccompteEuros = ""
cbxReduction = ""
txtPrixFrancs = ""
txtPrixEuros = ""
txtAccompteFrancs = ""
txtSoldeFrancs = ""
txtSoldeEuros = ""
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
Else
cbxAccompteEuros.Enabled = True
cbxReduction.Enabled = True
End If
lblPrixFrancs.Visible = True
txtPrixFrancs.Visible = True
End Sub
Private Sub cmdQuitter_Click()
Unload Me
End Sub
Private Sub txtAccompteFrancs_Change()
On Error Resume Next
txtAccompteFrancs = Format(txtAccompteFrancs, "##,##0.00")
End Sub
Private Sub txtMontantRemiseEuros_Change()
txtMontantRemiseEuros = Format(txtMontantRemiseEuros, "##,##0.00")
End Sub
Private Sub txtMontantRemiseFrancs_Change()
txtMontantRemiseFrancs = Format(txtMontantRemiseFrancs, "##,##0.00")
End Sub
Private Sub txtPortableDeLaMariee_Change()
PhoneFormat txtPortableDeLaMariee
End Sub
Private Sub txtPortableDuMarie_Change()
PhoneFormat txtPortableDuMarie
End Sub
Private Sub txtPrixFrancs_Change()
txtPrixFrancs = Format(txtPrixFrancs, "##,##0.00")
End Sub
Private Sub txtDateDeLaPrestation_Change()
txtDateDeLaPrestation = Application.Proper(Format(Calendar1.Value,
"dddd d
mmmm yyyy"))
End Sub
Private Sub txtDateDeLaPrestation_DblClick(ByVal Cancel As
MSForms.ReturnBoolean)
Calendar1.Visible = True
End Sub
Private Sub txtSoldeFrancs_Change()
txtSoldeFrancs = Format(txtSoldeFrancs, "##,##0.00")
If txtSoldeFrancs > 0 Then
lblSoldeFrancs.ForeColor = &HFF&
lblSoldeEuros.ForeColor = &HFF&
Else
lblSoldeFrancs.ForeColor = &H80000008
lblSoldeEuros.ForeColor = &H80000008
End If
End Sub
Private Sub txtAccompteEuros_Change()
On Error Resume Next
txtAccompteEuros = Format(txtAccompteEuros, "##,##0.00")
txtSoldeEuros = CDbl(txtPrixEuros) - CDbl(txtAccompteEuros)
End Sub
Private Sub txtPrixEuros_Change()
On Error Resume Next
If txtPrixEuros <> "" Then
txtPrixFrancs = CDbl(txtPrixEuros) * 6.55957
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = CDbl(txtPrixEuros) - CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = CDbl(txtPrixEuros)
End If
If cbxReduction <> "" Then
txtSoldeFrancs.Value = CDbl(txtPrixFrancs) -
CDbl(txtAccompteFrancs) -
CDbl(txtMontantRemiseEuros)
Else
txtSoldeFrancs.Value = CDbl(txtPrixFrancs)
End If
Else
txtPrixEuros = ""
If cbxAccompteEuros <> "" Then
txtSoldeEuros.Value = -CDbl(cbxAccompteEuros)
Else
txtSoldeEuros.Value = ""
End If
If cbxAccompteEuros <> "" Then
txtSoldeFrancs.Value = -CDbl(txtAccompteFrancs)
Else
txtSoldeFrancs.Value = ""
End If
End If
txtPrixEuros = Format(txtSoldeEuros, "##,##0.00")
lblAccompteFrancs.Visible = True
cbxAccompteEuros.Visible = True
lblSoldeFrancs.Visible = True
txtSoldeFrancs.Visible = True
lblPrixEuros.Visible = True
txtPrixEuros.Visible = True
lblSoldeEuros.Visible = True
txtSoldeEuros.Visible = True
End Sub
Private Sub txtSoldeEuros_Change()
On Error Resume Next
txtSoldeEuros = Format(txtSoldeEuros, "##,##0.00")
End Sub
Private Sub txtNomDuMarie_Change()
txtNomDuMarie.Value = UCase(txtNomDuMarie.Value)
End Sub
Private Sub txtPrenomDuMarie_Change()
txtPrenomDuMarie = Application.Proper(txtPrenomDuMarie)
End Sub
Private Sub txtNomDeLaMariee_Change()
txtNomDeLaMariee.Value = UCase(txtNomDeLaMariee.Value)
End Sub
Private Sub txtPrenomDeLaMariee_Change()
txtPrenomDeLaMariee = Application.Proper(txtPrenomDeLaMariee)
End Sub
Private Sub UserForm_Initialize()
Dim Ctrl As Control
'Ici je vide les Controls
For Each Ctrl In Me.Controls
If TypeOf Ctrl Is MSForms.TextBox Or TypeOf Ctrl Is MSForms.ComboBox
Then
Ctrl = ""
End If
Next Ctrl
cbxAccompteEuros.Enabled = False
cbxReduction.Enabled = False
lblMontantRemiseEuros.Visible = False
lblMontantRemiseFrancs.Visible = False
txtMontantRemiseEuros.Visible = False
txtMontantRemiseFrancs.Visible = False
' Choix des Organisateurs, Nom des salles, Traiteurs, Type de soirée
Set WSDonneesPrix = Worksheets("Prix")
With WSDonneesPrix
PlageTypeDeSoirée = .Range("B4:B" &
.Range("B2000").End(xlUp).Row).Address
End With
cbxTypeDeSoiree.RowSource = "Prix!" & PlageTypeDeSoirée
' Choix de l'accompt
cbxAccompteEuros.AddItem "100,00"
cbxAccompteEuros.AddItem "200,00"
cbxAccompteEuros.AddItem "300,00"
'Réduction
cbxReduction.AddItem "10"
cbxReduction.AddItem "15"
cbxReduction.AddItem "20"
End Sub
En vous remerciant par avance, Jacques