Bonjour à tous,
Je me permets de vous écrire car je tourne en rond depuis un petit temps et je ne comprends vraiment pas ce qu'il se passe.
Je vais essayer d'être le plus clair possible.
Voici mon code :
En bref, il s'agit d'un Userform permettant d'encoder une commande de devises.
Il y a à chaque fois une rangée de trois textbox par coupure (nbr de billets (Nbrcoup), coupure (Coup) et total (Toco))
Il y a également un total pour toute la commande (Totcommande).
Le problème est qu'à chaque modification du nombre de billets, le Toco est modifié et s'affiche dans le champs total mais le total de la commande ne compte que le dernier Toco modifié.
J'ai fait une msgbox attachée un un bouton "OK" avec le total de tous les Toco afin d'essayer de comprendre le problème mais celui-ci m'affiche toujours zéro.
Auriez-vous une petite idée ?
Merci d'avance et bonne journée.
Je me permets de vous écrire car je tourne en rond depuis un petit temps et je ne comprends vraiment pas ce qu'il se passe.
Je vais essayer d'être le plus clair possible.
Voici mon code :
Code:
Private Sub UserForm_Initialize()
Dim Toco1 As Integer
Dim Toco2 As Integer
Dim Toco3 As Integer
Dim Toco4 As Integer
Dim Toco5 As Integer
Dim Toco6 As Integer
Dim Toco7 As Integer
Dim Toco8 As Integer
Dim Toco9 As Integer
For x = 1 To 70
If Worksheets("Devises").Cells(1, x) <> "" Then
Combodevise.AddItem (Worksheets("Devises").Cells(1, x))
Else:
End If
Next x
End Sub
Private Sub btnannuler_Click()
cmddevises.Hide
If MsgBox("Etes-vous certain de vouloir annuler la commande ?", vbYesNo, "Demande de confirmation") = vbNo Then
cmddevises.Show
Else: Unload cmddevises
MsgBox ("Attention : La commande n'a pas été encodée")
End If
End Sub
Private Sub Combodevise_Change()
For x = 1 To 70
If Combodevise.Value = Worksheets("Devises").Cells(1, x) Then
Coup1.Value = Worksheets("Devises").Cells(3, x)
Coup2.Value = Worksheets("Devises").Cells(4, x)
Coup3.Value = Worksheets("Devises").Cells(5, x)
Coup4.Value = Worksheets("Devises").Cells(6, x)
Coup5.Value = Worksheets("Devises").Cells(7, x)
Coup6.Value = Worksheets("Devises").Cells(8, x)
Coup7.Value = Worksheets("Devises").Cells(9, x)
Coup8.Value = Worksheets("Devises").Cells(10, x)
Coup9.Value = Worksheets("Devises").Cells(11, x)
TextBox31.Value = Worksheets("Devises").Cells(2, x) & "s"
TextBox32.Value = Worksheets("Devises").Cells(1, x)
End If
Next x
If Coup1.Value = "-" Then
Totcoup1.Value = "-"
Nbrcoup1.Value = "-"
Nbrcoup1.Enabled = False
Else:
Nbrcoup1.Value = 0
Totcoup1.Value = 0 & " " & Combodevise
Nbrcoup1.Enabled = True
End If
If Coup2.Value = "-" Then
Totcoup2.Value = "-"
Nbrcoup2.Value = "-"
Nbrcoup2.Enabled = False
Else:
Nbrcoup2.Value = 0
Totcoup2.Value = 0 & " " & Combodevise
Nbrcoup2.Enabled = True
End If
If Coup3.Value = "-" Then
Totcoup3.Value = "-"
Nbrcoup3.Value = "-"
Nbrcoup3.Enabled = False
Else:
Nbrcoup3.Value = 0
Totcoup3.Value = 0 & " " & Combodevise
Nbrcoup3.Enabled = True
End If
If Coup4.Value = "-" Then
Totcoup4.Value = "-"
Nbrcoup4.Value = "-"
Nbrcoup4.Enabled = False
Else:
Nbrcoup4.Value = 0
Totcoup4.Value = 0 & " " & Combodevise
Nbrcoup4.Enabled = True
End If
If Coup5.Value = "-" Then
Totcoup5.Value = "-"
Nbrcoup5.Value = "-"
Nbrcoup5.Enabled = False
Else:
Nbrcoup5.Value = 0
Totcoup5.Value = 0 & " " & Combodevise
Nbrcoup5.Enabled = True
End If
If Coup6.Value = "-" Then
Totcoup6.Value = "-"
Nbrcoup6.Value = "-"
Nbrcoup6.Enabled = False
Else:
Nbrcoup6.Value = 0
Totcoup6.Value = 0 & " " & Combodevise
Nbrcoup6.Enabled = True
End If
If Coup7.Value = "-" Then
Totcoup7.Value = "-"
Nbrcoup7.Value = "-"
Nbrcoup7.Enabled = False
Else:
Nbrcoup7.Value = 0
Totcoup7.Value = 0 & " " & Combodevise
Nbrcoup7.Enabled = True
End If
If Coup8.Value = "-" Then
Totcoup8.Value = "-"
Nbrcoup8.Value = "-"
Nbrcoup8.Enabled = False
Else:
Nbrcoup8.Value = 0
Totcoup8.Value = 0 & " " & Combodevise
Nbrcoup8.Enabled = True
End If
If Coup9.Value = "-" Then
Totcoup9.Value = "-"
Nbrcoup9.Value = "-"
Nbrcoup9.Enabled = False
Else:
Nbrcoup9.Value = 0
Totcoup9.Value = 0 & " " & Combodevise
Nbrcoup9.Enabled = True
End If
End Sub
Private Sub Nbrcoup1_Change()
If Coup1.Value <> "-" Then
Toco1 = Nbrcoup1 * Coup1
Totcoup1.Value = Toco1 & " " & Combodevise
End If
Totcommande.Value = Toco1 + Toco2 + Toco3 + Toco4 + Toco5 + Toco6 + Toco7 + Toco8 + Toco9
End Sub
Private Sub Nbrcoup2_Change()
If Coup5.Value <> "-" Then
Toco2 = Nbrcoup2 * Coup2
Totcoup2.Value = Toco2 & " " & Combodevise
End If
Totcommande.Value = Toco1 + Toco2 + Toco3 + Toco4 + Toco5 + Toco6 + Toco7 + Toco8 + Toco9
End Sub
Private Sub Nbrcoup3_Change()
If Coup3.Value <> "-" Then
Toco3 = Nbrcoup3 * Coup3
Totcoup3.Value = Toco3 & " " & Combodevise
End If
Totcommande.Value = Toco1 + Toco2 + Toco3 + Toco4 + Toco5 + Toco6 + Toco7 + Toco8 + Toco9
End Sub
Private Sub Nbrcoup4_Change()
If Coup4.Value <> "-" Then
Toco4 = Nbrcoup4 * Coup4
Totcoup4.Value = Toco4 & " " & Combodevise
End If
Totcommande.Value = Toco1 + Toco2 + Toco3 + Toco4 + Toco5 + Toco6 + Toco7 + Toco8 + Toco9
End Sub
Private Sub Nbrcoup5_Change()
If Coup5.Value <> "-" Then
Toco5 = Nbrcoup5 * Coup5
Totcoup5.Value = Toco5 & " " & Combodevise
End If
Totcommande.Value = Toco1 + Toco2 + Toco3 + Toco4 + Toco5 + Toco6 + Toco7 + Toco8 + Toco9
End Sub
Private Sub Nbrcoup6_Change()
If Coup6.Value <> "-" Then
Toco6 = Nbrcoup6 * Coup6
Totcoup6.Value = Toco6 & " " & Combodevise
End If
Totcommande.Value = Toco1 + Toco2 + Toco3 + Toco4 + Toco5 + Toco6 + Toco7 + Toco8 + Toco9
End Sub
Private Sub Nbrcoup7_Change()
If Coup7.Value <> "-" Then
Toco7 = Nbrcoup7 * Coup7
Totcoup7.Value = Toco7 & " " & Combodevise
End If
Totcommande.Value = Toco1 + Toco2 + Toco3 + Toco4 + Toco5 + Toco6 + Toco7 + Toco8 + Toco9
End Sub
Private Sub Nbrcoup8_Change()
If Coup8.Value <> "-" Then
Toco8 = Nbrcoup8 * Coup8
Totcoup8.Value = Toco8 & " " & Combodevise
End If
Totcommande.Value = Toco1 + Toco2 + Toco3 + Toco4 + Toco5 + Toco6 + Toco7 + Toco8 + Toco9
End Sub
Private Sub Nbrcoup9_Change()
If Coup9.Value <> "-" Then
Toco9 = Nbrcoup9 * Coup9
Totcoup9.Value = Toco9 & " " & Combodevise
End If
Totcommande.Value = Toco1 + Toco2 + Toco3 + Toco4 + Toco5 + Toco6 + Toco7 + Toco8 + Toco9
End Sub
Private Sub CommandButton1_Click()
MsgBox (Toco1 + Toco2 + Toco3 + Toco4 + Toco5 + Toco6 + Toco7 + Toco8 + Toco9)
End Sub
En bref, il s'agit d'un Userform permettant d'encoder une commande de devises.
Il y a à chaque fois une rangée de trois textbox par coupure (nbr de billets (Nbrcoup), coupure (Coup) et total (Toco))
Il y a également un total pour toute la commande (Totcommande).
Le problème est qu'à chaque modification du nombre de billets, le Toco est modifié et s'affiche dans le champs total mais le total de la commande ne compte que le dernier Toco modifié.
J'ai fait une msgbox attachée un un bouton "OK" avec le total de tous les Toco afin d'essayer de comprendre le problème mais celui-ci m'affiche toujours zéro.
Auriez-vous une petite idée ?
Merci d'avance et bonne journée.