Comment faire des calculés dans (VFlexgrid) ?

Signaler
Messages postés
102
Date d'inscription
mercredi 4 janvier 2012
Statut
Membre
Dernière intervention
11 août 2019
-
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
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

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
239
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.