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

Macros et VBA Excel Discussion :

Récupérer nombre de valeurs différentes d'une colonne de Listbox [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    administrateur
    Inscrit en
    Mai 2015
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : administrateur

    Informations forums :
    Inscription : Mai 2015
    Messages : 74
    Par défaut Récupérer nombre de valeurs différentes d'une colonne de Listbox
    Bonsoir à tous,

    J'utilise un userform avec 7 colonnes avec plusieurs combo et je souhaite récupérer dans 2 Label
    le nombre de valeurs différentes (C à D sans doublon ) de 2 colonnes de cette listbox, colonnes 3 et 4 par exemple
    Je récupère déjà le nombre de ligne et le total de la colonne 7 dans 2 Labels
    Voici le code que j'utilise au changement de valeur de chaque combo
    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
     
    Sub Cible()
        Dim Tbl()
        Dim n%
        cbx1 = Me.Combobox1: cbx2 = Me.Combobox2:  cbx3 = Me.Combobox3: cbx4 = Me.Combobox4:
        n = 0
        Cb = Array(1, 1, 1, 1)
        For i = 0 To UBound(ColCombo): Cb(i) = ColCombo(i): Next i
        ttal = 0
     
        For i = 1 To UBound(TabBD)
            If TabBD(i, Cb(0)) Like cbx1 And TabBD(i, Cb(1)) Like cbx2 _
                And TabBD(i, Cb(2)) Like cbx3 And TabBD(i, Cb(3)) Like cbx4 Then
                n = n + 1: ReDim Preserve Tbl(1 To NbCol + 1, 1 To n)
                c = 0
                For c = 1 To NbCol: Tbl(c, n) = TabBD(i, c): Next c
                Tbl(c, n) = TabBD(i, NbCol + 1)
                ttal = ttal + TabBD(i, 7)
            End If
        Next
     
        Me.Label1.Caption = ttal & " Toto"
        If n > 0 Then Me.ListBox1.Column = Tbl Else Me.ListBox1.Clear
        Me.Label2.Caption = Me.ListBox1.ListCount & " Polo"
    End Sub
    Merci infiniment pour votre coup de pouce

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ancien Etudiant
    Inscrit en
    Janvier 2019
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Ancien Etudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 152
    Par défaut
    Bonjour,

    Une possibilité en utilisant un dictionary:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim Dico, T, i As Integer, j As Byte
    Set Dico = CreateObject("Scripting.Dictionary")
    T = ListBox1.List
    For i = LBound(T, 1) To UBound(T, 1)
        For j = 2 To 3 ' colonnes 3 et 4
            Dico(T(i, j)) = ""
        Next
    Next
    Labelx.Caption = Dico.Count
    Peut-être utiliser directement le tableau Tbl de votre code.

  3. #3
    Membre confirmé
    Homme Profil pro
    administrateur
    Inscrit en
    Mai 2015
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : administrateur

    Informations forums :
    Inscription : Mai 2015
    Messages : 74
    Par défaut
    Merci infiniment
    C'est tout bon

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Compter le nombre de valeurs différente dans une colonne
    Par Mist-e-Fire dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 30/04/2013, 09h01
  2. Réponses: 1
    Dernier message: 22/05/2012, 19h15
  3. Réponses: 2
    Dernier message: 17/06/2010, 16h03
  4. extraire les valeurs différentes d'une colonne
    Par mementox dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 01/12/2007, 16h06
  5. Nombre de valeurs différentes dans une colonne
    Par KrusK dans le forum Langage SQL
    Réponses: 4
    Dernier message: 24/08/2005, 14h18

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