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 :

Compter le nombre de valeurs différentes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2011
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2011
    Messages : 115
    Par défaut Compter le nombre de valeurs différentes
    Bonjour,
    J'aimerais savoir combien de valeurs différentes dans la colonne A:

    Patate
    Tomates
    Salade
    Salade
    Salade
    Patate.
    ...

    on voit qu'il y'a 3 sortes de légumes!

    Par une macro comment je peux compter le 3 que je voudrais incorporer dans une boucle.

    Merci.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Tu devrais lire ce tuto : La gestion des doublons dans Excel

    Tu y trouveras une routine VBA pour extraire une liste sans doublons.

    Philippe

  3. #3
    Membre extrêmement actif
    Avatar de NVCfrm
    Homme Profil pro
    Administrateur Système/Réseaux - Developpeur - Consultant
    Inscrit en
    Décembre 2012
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur Système/Réseaux - Developpeur - Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 037
    Billets dans le blog
    5
    Par défaut
    Bonsoir.

    Avec une formule excel:
    =somme(si(a1:a10<>a1:a11;1))

    en vba
    même astuce pour une liste triée au préalable


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    dim n as integer,l as integer,x
    set macolonne=range("a1:a10")
    x=macolonne(1,1)
    n=1
    for l=1 t0 macolonne.rows.count
    if macolonne(l,1)<>x then n=n+1
    x=macolonne(l,1)
    next
    s

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2011
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2011
    Messages : 115
    Par défaut
    Citation Envoyé par Philippe JOCHMANS Voir le message
    Bonjour

    Tu devrais lire ce tuto : La gestion des doublons dans Excel

    Tu y trouveras une routine VBA pour extraire une liste sans doublons.

    Philippe
    Voici ce que je pense faire alors après avoir lu tuto sur les doublons,
    je vais compter le nombre de cellules non-vides dans la colonne A et ensuite soustraire le nombre de doublons par le code suivant: ce qui devrais me donner les nombre de valeurs unique!

    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
    Option Explicit
     
     
    Sub Test()
        CommunsPlages_CountIf Range("A6:A25"), Range("B1:B17")
    End Sub
     
     
     
    'La procédure recherche et compte les données de Plage_A qui apparaissent
    'aussi dans Plage_B
    Sub CommunsPlages_CountIf(Plage_A As Range, Plage_B As Range)
        Dim Cell As Range
        Dim i As Integer, k As Integer
        Dim Tableau() As Variant
     
        'boucle sur les cellules de la plage Plage_A
        For Each Cell In Plage_A
     
            'Vérifie si la donnée de Plage_A apparait dans Plage_B
            If Application.CountIf(Plage_B, Cell) > 0 Then
                'Redimensionne le tableau de résultats
                i = i + 1
                ReDim Preserve Tableau(1 To 2, 1 To i)
     
                'Compte le nombre de fois que la donnée apparait
                'dans Plage_B.
                k = Application.CountIf(Plage_B, Cell)
     
                '--- Remplissage tableau:
                'La donnée
                Tableau(1, i) = Cell
                'Le nombre de fois que la donnée apparait dans Plage_B.
                Tableau(2, i) = k
                '-----------------------
            End If
        Next Cell
     
        'Copie le tableau de résultats dans la Feuil2
        Worksheets("Feuil2").Range("A1:B" & i) = Application.Transpose(Tableau)
    End Sub
    pensez-vous que c'est la solution la plus efficace?

    Merci.

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. Comment compter le nombre de valeur différentes
    Par chelmi95 dans le forum IHM
    Réponses: 3
    Dernier message: 02/05/2008, 18h02
  4. Compter le nombre de valeurs différentes
    Par solorac dans le forum Excel
    Réponses: 6
    Dernier message: 21/04/2007, 16h13
  5. Le nombre de valeurs différentes d'un champs
    Par XecTech dans le forum Requêtes
    Réponses: 4
    Dernier message: 15/06/2005, 21h10

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