IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

comment je peux faire des calculs dans VFlexgrid ?


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mars 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 26
    Points : 24
    Points
    24
    Par défaut comment je peux faire des calculs dans VFlexgrid ?
    Bonjour,

    Aidez-moi S.V.P sur ce sujet,

    j'ai besoin de faire des calculs à l’intérieur de la liste VFlexgrid,
    quand je veux changer : ( la quantité, prix vente ou taux de remise), pour donner le total correctement.

    Exemple :
    Prix total = Quantité*prix vente*(1 - remise /100 )

    avec remise = 15 par exemple => remise/100 = 0.15 = 15%

    téléchargez ce projet S.V.P,

    http://www.cjoint.com/c/FDctIcXLREg

    Merci d'avance de votre réponse !
    Je ai besoin d'une réponse bientôt.
    J'espère que ce soit dans les prochaines heures
    Merci

  2. #2
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mars 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 26
    Points : 24
    Points
    24
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
     
     
    Private Sub G_CellChanged(ByVal Row As Long, ByVal Col As Long)
    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 = G.Row
     
    For k = r To G.RowSel
     
    Q1 = G.TextMatrix(k, 2)
     
    P2 = G.TextMatrix(k, 3)
     
    R3 = G.TextMatrix(k, 4)
     
    TOT1 = Q1 * P2
    TOT2 = TOT1 * R3 / 100
    TOT3 = TOT1 - TOT2
     
    G.TextMatrix(k, 5) = TOT3
     
    Next
    End With
    End Sub

  3. #3
    Membre à l'essai
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mars 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 26
    Points : 24
    Points
    24
    Par défaut
    Bonjour,

    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-+
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
     
     
    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

  4. #4
    Membre éclairé
    Inscrit en
    Décembre 2007
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 512
    Points : 671
    Points
    671
    Par défaut
    Bonjour,

    1.D'abord , enlever les "On Error Resume Next" quand on est dans une procédure de test
    car ils empêchent de voir les erreurs de code.

    2.Mettre des points d'arrêt entre les valeurs et vérifier si elles sont correctes en pointant
    la souris sur la variable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    TOT1 = Q1 * P2
    stop
    TOT2 = TOT1 * R3 / 100
    stop
    TOT3 = TOT1 - TOT2
    stop
     
    G.TextMatrix(k, 5) = TOT3
    stop

Discussions similaires

  1. Faire des calculs dans les états
    Par bobosh dans le forum IHM
    Réponses: 1
    Dernier message: 09/09/2008, 13h36
  2. comment je peux créer des requêtes dans Access 2000
    Par metalken dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 24/04/2008, 15h54
  3. faire des calculs dans un projet Windows
    Par rbell dans le forum Windows
    Réponses: 2
    Dernier message: 06/09/2007, 19h28
  4. Réponses: 2
    Dernier message: 27/06/2007, 10h42
  5. Comment mettre a jour des calculs dans un userform
    Par alex.a dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 18/06/2007, 17h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo