Comment faire des calculés dans (VFlexgrid) ?

Messages postés
99
Date d'inscription
mercredi 4 janvier 2012
Dernière intervention
7 décembre 2018
- - Dernière réponse : ucfoutu
Messages postés
18039
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
Afficher la suite 

Votre réponse

1 réponse

Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
0
Merci
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.
Commenter la réponse de ucfoutu

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.