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

Windows Forms Discussion :

Sous-Total dans DataGridView


Sujet :

Windows Forms

  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Sous-Total dans DataGridView
    Bonjour à tous.

    J'ai rempli un DataGridView avec une commande SQL dans laquelle se trouve des dates d'échéance de contrats et les prix de ces mêmes contrats groupés par date d'échéance de contrat. Ce que je voudrais faire c'est insérer une ligne avec le total de ce que j'ai à payer pour chaque date d'échéance.

    Par exemple si j'ai :
    31/12/2009 120€
    31/12/2009 50€
    31/12/2009 90€
    31/01/2010 20€
    31/01/2010 100€
    28/02/2010 90€
    28/02/2010 60€


    Je voudrais avoir :
    31/12/2009 120€
    31/12/2009 50€
    31/12/2009 90€
    TOTAL 260€
    31/01/2010 20€
    31/01/2010 100€
    TOTAL 120€
    28/02/2010 90€
    28/02/2010 60€
    TOTAL 150€

    Voilà donc j'ai vraiment besoin de votre aide!!!

    Merci beaucoup!!

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 27
    Points : 10
    Points
    10
    Par défaut
    Pour calculer le total, ça donne ça*:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
          Dim total As Single
     
                For i As Integer = 0 To DataGridView.RowCount - 1
                    total = total + DataGridView.Rows(i).Cells(1).Value
                Next
     
           MsgBox("Total: " & total)

    Je n’ai pas testé le code, mais ça devrai fonctionner, par contre ça calcule en une foi et ça prend la valeur qu'il y'a dans la deuxième colonne.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2008
    Messages : 11
    Points : 18
    Points
    18
    Par défaut
    voici essaie ça j'ai testé et ça marche
    Code vb.net : 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
     
                Dim souTotal As New List(Of Integer) 'liste des sous totaux 
                Dim idSouTotal As New List(Of Integer) 'liste des index d'insertion des sous totaux
                Dim sDate As Date 'la date concernée par le sous total
     
     
                Dim total, totalGnl As Integer
                Dim h As Integer = 0 'nbre de sous totaux
                total = 0
                totalGnl = 0 'total générale 
                '/// je fais d'abord un tri sur la colonne date afin de regrouper les dates par ordre alphabétique
                Me.DataGridView1.Sort(Me.DataGridView1.Columns(0), System.ComponentModel.ListSortDirection.Ascending)
     
     
                For i As Integer = 0 To DataGridView1.RowCount - 1
                    If i = 0 Then sDate = CDate(Me.DataGridView1(0, 0).Value) ' Recupération de la 1ère date
     
                    If sDate = CDate(Me.DataGridView1(0, i).Value) Then 'Comparaison de la date recupérée avec celle du datagridview
                        'si les deux date sont égales le calcul se poursuit
                        total += CInt(DataGridView1.Rows(i).Cells(1).Value)
                    Else 'si les deux date ne sont pas égales le procécus suivant :
                        h += 1 '                   incrémentation du nombre de sous total
     
                        souTotal.Add(total) '                ajout du sous total à la liste
     
                        idSouTotal.Add(CInt(i + h - 1)) '           ajout de l'index du sous total à la liste
     
                        totalGnl += total  '            total général
     
                        sDate = CDate(Me.DataGridView1(0, i).Value) 'Recupération de la date suivante
                        total = 0 'le compteur du sous total à zéro
                        total += CInt(DataGridView1.Rows(i).Cells(1).Value)
                    End If
     
                    If i = Me.DataGridView1.RowCount - 1 Then 'dernière ligne
                        h += 2
                        souTotal.Add(total)
                        idSouTotal.Add(CInt(i + h - 1))
                        totalGnl += total
                    End If
                Next
     
                'insertion des sous totaux dans le tableau
                Dim id As Integer
                For j As Integer = 0 To souTotal.Count - 1 'parcourt des sous totaux
                    id = CInt(idSouTotal(j))
                    Me.DataGridView1.Rows.Insert(id, 1)
                    Me.DataGridView1(0, id).Value = "Total (" & Me.DataGridView1(0, id - 1).Value & ")"
                    Me.DataGridView1(1, id).Value = souTotal(j)
                Next
                'insertion du total général dans le tableau
                Me.DataGridView1.Rows.Add()
                Me.DataGridView1(0, Me.DataGridView1.RowCount - 1).Value = "Total général"
                Me.DataGridView1(1, Me.DataGridView1.RowCount - 1).Value = totalGnl

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2016
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Bâtiment

    Informations forums :
    Inscription : Décembre 2016
    Messages : 1
    Points : 1
    Points
    1
    Par défaut SOUS-TOTAL DANS DATAGRIDVIEW
    Salut a tous

    j'aimerai calculer le sous-total des valeurs des cellules selectionnées dans une datagridview et apres faire la somme des sous totaux en vb.net

    SVP aidez moi

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 293
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 293
    Points : 1 887
    Points
    1 887
    Par défaut
    Ton exemple vient d'où ? indique sur le ton autre post (éventuellement en y mettant le code que tu as trouvé ici)

    Traiter une question sur 2 sujets en même temps ce n'est pas pratique ...... ni pour toi ni pour nous

  6. #6
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 744
    Points : 5 436
    Points
    5 436
    Par défaut
    Pourquoi tu déterres un sujet vieux de presque 7 ans ?

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 293
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 293
    Points : 1 887
    Points
    1 887
    Par défaut
    mince le message auquel j'ai répondu à disparu, c'était en rapport avec ce sujet https://www.developpez.net/forums/d2...-datagridview/

Discussions similaires

  1. Réponses: 9
    Dernier message: 17/11/2010, 12h06
  2. Calculer le sous total dans un wwdbgrid
    Par BYALI dans le forum Composants VCL
    Réponses: 0
    Dernier message: 30/07/2008, 16h34
  3. calcul de sous total dans un etat
    Par qltmi dans le forum IHM
    Réponses: 1
    Dernier message: 11/06/2007, 06h55
  4. Sous Total dans une DataReport
    Par louis_figos dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 13/11/2006, 09h53
  5. Sous-total dans un etat
    Par Mr White dans le forum Access
    Réponses: 1
    Dernier message: 26/10/2005, 11h47

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