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 :

faire la somme d'une colonne d'une listbox


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Juin 2006
    Messages : 123
    Points : 59
    Points
    59
    Par défaut faire la somme d'une colonne d'une listbox
    Bonjour à tous!
    premierement je voudrais faire la somme d'une colonne d'une listbox et
    secondement j'ai un problème lorsque jécris mes réquêtes pour afficher la liste des clients entre une période et une autre.
    merci

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 23
    Points : 22
    Points
    22
    Par défaut
    Bonjour,

    Premièrement :
    - Que contient ta listbox ?
    - Comment la "remplis" tu ?

    Secondement :
    - Quel problème as-tu ?
    - As-tu un message d'erreur ?
    - Quel type de champs utilises-tu ?
    - As-tu un exemple de code à nous donner ?
    - ... ?

    @ Bientôt

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 55
    Points : 18
    Points
    18
    Par défaut
    Ici moi j'affiche le calcul lors d'un clique sur le bouton "Total"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub cmdcal_Click()
    Dim nb As Integer
    Dim masomme As Double
    masomme = 0
    For nb = 0 To "talistbox".ListCount - 1
    If "talistbox".List(nb) <> " " Then
    masomme = masomme + CDbl("talistbox".List(nb))
    End If
    Next
    masomme = Round(masomme, 3)
    somme.Text = masomme
    End Sub
    masomme.text est un textbox qui reçoit le résultat

    Si ça peut t'aider fais moi signe

  4. #4
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Si j'ai bien compris, il s'agit d'une listbox multicolonne ?

    Pour faire une somme... tu ne devrais pas utiliser plutôt une grille? Comme le contrôle MSFlexGrid ?

    On affiche les données sur plusieurs colonnes dans un listBox pour des raisons de commodité d'affichage. Pour faire des calculs sur des données 'ordonnées' en tableaux, il vaut toujours mieux utiliser une Grille.

  5. #5
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Juin 2006
    Messages : 123
    Points : 59
    Points
    59
    Par défaut merci beaucoup
    Merci vraiment à tous ca marche comme sur des roulettes!!!


    maintenant mon deuxième problème n'a pas encore trouvé de réponse
    au fait j'ai écrit une réquête sous vb pour pourvoir afficher la liste des clients inscrits entre deux périodes.
    voici la requêt écrite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Set rsart = New ADODB.Recordset
    rsart.Open "select * from CLIENT " & _
    "where date >= '" & datperio1.Value & "'" & _
    "And date <= '" & datperio2.Value & "'", conect, adOpenDynamic
    With Flex2
        .Clear
        .Rows = 1
        .FormatString = "Code       |Noms                |Prenoms                        |Cellulaire         |Téléphone        |BP         |Ville            | Quartier          |  Date             "
        Do While Not rsart.EOF
      Me.Flex2.AddItem rsart!codeclt & vbTab & rsart!nomclt & vbTab & rsart!prenclt & vbTab & rsart!celclt & vbTab & rsart!telclt & vbTab & rsart!bpclt & vbTab & rsart!villclt & vbTab & rsart!quartclt & vbTab & rsart!Date
        rsart.MoveNext
        Loop
    End With

    Mais dans la liste affichée ce n'est que les clients dont le jour est compris entre les deux périodes.

    merci

    namson 5 points du monde

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 23
    Points : 22
    Points
    22
    Par défaut
    Perso, j'ai pas totalement compris ton second problème :/

    P.S : ca viens peut-être de moi

    Et concernant ton premier problème, si les infos affiché dans ta listbox viennent d'une base de donnée, tu peux essayer un "SELECT sum(`champs`) FROM `table`;"

  7. #7
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Juin 2006
    Messages : 123
    Points : 59
    Points
    59
    Par défaut Requête pour afficher une liste entre deux périodes
    Je voudrais afficher la liste des clients inscrits entre deux periodes par exemple entre le 14/01/2007 et le 20/03/2007.
    Lorsque j'écris ma requete, la liste affiche seulement que la liste des clients inscrits entre le 14/01/2007 et le 20/01/2007. Voici un bout de mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     Set rsart = New ADODB.Recordset
    rsart.Open "select * from CLIENT " & _
    "where date >= '" & datperio1.Value & "'" & _
    "And date <= '" & datperio2.Value & "'", conect, adOpenDynamic
    ok merci

  8. #8
    Membre expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Points : 3 696
    Points
    3 696
    Par défaut
    Essaye cette requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    "select * from CLIENT " & _
    "where date between #" & format(datperio1.Value,"mm/dd/yyyy") & "# and #" & format(datperio2.Value,"mm/dd/yyyy") & "# "
    En général, on ne demande de conseils que pour ne pas les suivre ou, si on les a suivis, reprocher à quelqu'un de les avoir donnés
    (ALEXANDRE DUMAS)

    N'hésitez pas à visiter ma page de contributions

Discussions similaires

  1. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 12h58
  2. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  3. Faire la somme de n valeurs dans une colonne
    Par glamgeek dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/03/2009, 12h56
  4. [VBA] Somme de certaines valeurs d'une colonne dans une requete
    Par petitelalou dans le forum VBA Access
    Réponses: 7
    Dernier message: 01/08/2007, 00h18
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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