Problème d'addition de variable

Mounss

XLDnaute Nouveau
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 :
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.
 

Gurgeh

XLDnaute Occasionnel
Re : Problème d'addition de variable

Salut Mounss,

Pour nous aider à t'aider, le mieux serait que tu nous mettes un fichier en pièce jointe avec ton userform et le code qui va avec, c'est plus facile pour analyser ce qui se passe.

Gurgeh
 

Mounss

XLDnaute Nouveau
Re : Problème d'addition de variable

Salut Gurgeh,

Et merci de tenter de m'aider...

Voici le fichier...

Petite question bonus vu que tu as le fichier:

Seul le total des coupures de 50 de la devise AWG ne se fait pas... Alors que toutes les autres devises fonctionnent.... Là je ne comprends vraiment pas non plus... Bug ?

Mci ;)
 

Pièces jointes

  • cmddev-xldwnd.xls
    118 KB · Affichages: 38

Statistiques des forums

Discussions
312 799
Messages
2 092 241
Membres
105 304
dernier inscrit
mathis000