Comment faire des calculés dans (VFlexgrid) ?

accent19811 Messages postés 105 Date d'inscription mercredi 4 janvier 2012 Statut Membre Dernière intervention 28 mai 2023 - 3 avril 2016 à 16:43
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 3 avril 2016 à 17:44
Bonjour,


Bonjour,

j'ai besoin de faire des calculés à l’intérieur de la liste "VFlexgrid", quand je vous changée: ( l'quantité ou prix vente ou taux de remise),
pour donnée le total correctement

H=0
HTT=0

H= Quantité * prix vente
HTT=H*Remise /100
Prix total = H- HTT

j'ai fait ce code, mais malheureusement marche pas !

++++++++++++++++++++++++++++++++++++++
Référence|Désignation|Quantité|Prix Vente|Remise %|Total|+
---------------------------------------------------------------------
+-A001|OPTIQUE G|10|780,50|25%|76098,75----------------+
+-A006|Feu Rouge G|10|500,50|15%|425,42-----------------+
+-A009|Aile G|10|1250,70|20%|122568,60-------------------+
+-A002|Capot G|10|350,85|20%|2806,80---------------------+
++++++++++++++++++++++++++++++++++++++
+Nombre Produit +:4---Total :---201899,57------------------+
++++++++++++++++++++++++++++++++++++++




Function faIndex(Row As Integer, Col As Integer) As Long
On Error Resume Next
    faIndex = Row * G.Cols + Col
End Function



Private Sub G_KeyPressEdit(ByVal Row As Long, ByVal Col As Long, KeyAscii As Integer)
On Error Resume Next
    Dim C As Integer, R As Integer
    ' Désactive le clignotement du contrôle
    G.Redraw = False
    ' Repère la cellule active
    R = G.RowSel
    C = G.ColSel
    ' Valide la saisie au clavier
    If KeyAscii = 27 Then
        G.TextArray(faIndex(R, C)) = ""
    ElseIf G.TextArray(faIndex(R, C)) <> "" And KeyAscii = 8 Then
        G.TextArray(faIndex(R, C)) = Mid(G.TextArray(faIndex(R, C)), 1, Len(G.TextArray(faIndex(R, C))) - 1)
    ElseIf G.TextArray(faIndex(R, C)) <> "" And KeyAscii = 13 Then
        G.TextArray(faIndex(R, C)) = G.TextArray(faIndex(R, C)) & Chr(10) & Chr(KeyAscii)
    Else
        G.TextArray(faIndex(R, C)) = G.TextArray(faIndex(R, C)) & Chr(KeyAscii)
    End If
    ' Replace le clignotement du contrôle
    G.Redraw = True
    'appel mise ajour G
    G_ChangeEdit
End Sub

Private Sub G_ChangeEdit()
    On Error Resume Next
    
    Dim Q1 As Double
    Dim P2 As Double
    Dim R3 As Double
    Dim TOT1 As Double
    Dim TOT2 As Double
    Dim TOT3 As Double
    Dim x As Integer

    With G
        R = .Row
        Q1 = .TextMatrix(R, 2)
        P2 = .TextMatrix(R, 3)
        R3 = .TextMatrix(R, 4)
        
        TOT1 = Q1 * P2
        TOT2 = TOT1 * R3 / 100
        TOT3 = TOT1 - TOT2
        .TextMatrix(R, 5) = Format(CCur(TOT3), "standard")
        
    End With
    
    nbr.Caption = 0: totaux.Caption = 0
    
         For I = 1 To G.Rows - 1
        nbr.Caption = Val(nbr.Caption) + 1
        htT = htT + CCur(G.TextMatrix(I, 5))
        
        Next
        totaux.Caption = Format(CCur(htT), "standard")
        
    
End Sub



Merci d'avance de votre réponse !
Je ai besoin d'une réponse bientôt.

Merci

1 réponse

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 3/04/2016 à 17:44
Bonjour,
Tu n'auras aucune réponse de ma part tant que tu laisseras sans suite ce que je t'ai dit dans ton autre discussion :
Pour mémoire :
Merci enfin de nous dire ce que tu as bien pu faire des 15 discussions que tu as ouvertes sur ce forum, sans suite donnée.

On va finir par y arriver ?

________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
0
Rejoignez-nous