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

Excel Discussion :

Nombre d’occurrence dans une colonne Excel selon un critère [XL-2007]


Sujet :

Excel

  1. #1
    Membre habitué Avatar de bartimeus35
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2009
    Messages : 525
    Points : 199
    Points
    199
    Par défaut Nombre d’occurrence dans une colonne Excel selon un critère
    J’ai un fichier excel (cf fichier ci-joint) dans lequel j’ai une liste de factures.

    Mon besoin simple mais je m’arrache les cheveux : compter le nombre de clients distincts pour chaque mois.

    Note : je ne sais pas combien de lignes j’ai dans mon fichier

    Je précise ma demande : je sais le faire en passant par des marcros mais je veux le faire avec une formule

    La formule NB.SI.ENS ne répond pas à ma question car je ne cherche pas a savoir combien de ligne lignes avec Dupont en janvier et idem avec Duchmoll mais combien de clients DIFFÉRENTS j'ai en Janvier , combien de clients DIFFÉRENTS j'ai en Février....

    Je sais retrouver le nombre de clients différents indépendamment du mois avec la fonction =SOMMEPROD(1/NB.SI(C2:C13;C2:C13)) mais la je veux cela mais pour chaque mois

    En fait j'ai mon tableau de factures et dans une autre feuille excel j'ai un mega tableau avec des stats et je voudrais juste une formule du type =SOMMEPROD(1/NB.SI(C2:C13;C2:C13)) qui me permette d'avoir ce que je veux mais mois par mois :p
    Images attachées Images attachées  
    Fichiers attachés Fichiers attachés

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 39
    Points : 28
    Points
    28
    Par défaut
    Tu dois t'en servir de la fonction SOMME.SI.ENS
    Regarde en détail le fichier joint
    Fichiers attachés Fichiers attachés

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 39
    Points : 28
    Points
    28
    Par défaut
    Une fois que tu as fini d'étudier la Fonction SOMME.SI.ENS, tu peux ajouter à ton fichier Excel un Module contenant le programe ici-bas. Comme tu verras ce programme élimine les doublons de la colonne F .

    Tu peux, grâce à ce programme, étudier la "condition If" et la "boucle For Each" entre autres...

    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
    Sub EliminationDesDoublons()
    '
    Dim a%, b%
    Dim CellF As Range
     
    'A
        a = Range("F60000").End(xlUp).Row
     
    'B
            If a > 0 Then
            Range("G2:G" & a).Value = ""
            End If
     
    'C
                For Each CellF In Range("F2:F" & a)
                    CellF.Offset(0, 1).Value = CellF.Value
                Next CellF
     
    'D
                    ActiveSheet.Range("$G$2:$G$" & a).RemoveDuplicates Columns:=1, Header:=xlNo
                    Range("G2").Select
     
    End Sub

  4. #4
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Points : 3 974
    Points
    3 974
    Par défaut
    Bonjour,

    Tu peux également établir une liste sans doublon avec un filtre avancé puis compter le nombre de clients par mois dans cette liste.
    Voir exemple.

    Cordialement.
    Fichiers attachés Fichiers attachés

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 39
    Points : 28
    Points
    28
    Par défaut
    Ci-joint le Fichier Excel "xls" avec un "bouton" pour déclencher le programme cité; Ceci étant dit ; il me semble que j' pas bien compris ce que tu voulais ; de ce fait, la réponse précédente de "gFZT82" est plus adapté a ta demande.
    Fichiers attachés Fichiers attachés

  6. #6
    Membre habitué Avatar de bartimeus35
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2009
    Messages : 525
    Points : 199
    Points
    199
    Par défaut
    Visiblement je ne m'explique pas bien

    Je sais le faire par macro mais je neux une formule pour me calculer ca automatiquement en "live" sans avoir a cliquer sur un bouton ou lancer une macro.

    J'ai trouve la solution sur le net sur un autre site.
    cf solution ci-jointe.

    Je ne comprend pas la formule mais elle fonctionne

    Le -1 a la fin est nécessaire car sinon dans certains cars ca ne fonctionne pas.
    Mais quelqu'un peu m'expliquer ?
    Fichiers attachés Fichiers attachés

  7. #7
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    En nommant la colonne des mois par Mois et celle des clients par Client

    Si en G2 tu as janvier, en G3 Fevrier...
    En H2, formule matricielle (à valider par Ctrl Shift Enter)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMME(SI(Mois=G2;1/NB.SI.ENS(Mois;G2;Client;Client);0))

  8. #8
    Membre habitué Avatar de bartimeus35
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2009
    Messages : 525
    Points : 199
    Points
    199
    Par défaut Solution complete
    Qui peut me dire a quoi sert le -1 à la fin de la formule.

    Si on ne le met pas ca ne fonctionne pas => cf fichier joint
    Fichiers attachés Fichiers attachés

  9. #9
    Membre habitué Avatar de bartimeus35
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2009
    Messages : 525
    Points : 199
    Points
    199
    Par défaut Solution proposée KO
    mercatog, ta fonction ne fonctionne pas
    cf fichier ci-joint
    Fichiers attachés Fichiers attachés

  10. #10
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Si si elle fonctionne parfaitement si on l'utilise convenablement

    Tu as mis la fonction en H3 et fais référence à G2

    Remplace en H3:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SOMME(SI(Mois=G3;1/NB.SI.ENS(Mois;G3;Client;Client);0))
    Je me demande si tu comprends ce qu'on te propose ou juste un copier coller hasardeux?

  11. #11
    Membre habitué Avatar de bartimeus35
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2009
    Messages : 525
    Points : 199
    Points
    199
    Par défaut
    J'ai fait une erreur de frappe ca arrive à tout le monde non ?

  12. #12
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    L'important est ce que tu arrive à comprendre le résultat final.

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

Discussions similaires

  1. Savoir Nombre element dans une colonne
    Par moulery dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 25/11/2009, 18h19
  2. Réponses: 27
    Dernier message: 06/08/2007, 17h29
  3. Nombre de lignes <> '' dans une colonne Excel
    Par zemeilleurofgreg dans le forum Delphi
    Réponses: 5
    Dernier message: 10/07/2007, 15h22
  4. nombre de cellule dans une colonne excel
    Par mahboub dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/11/2006, 23h00
  5. le nombre d’occurrences dans une chaine de caractére
    Par adilo dans le forum Débuter avec Java
    Réponses: 7
    Dernier message: 28/06/2006, 12h24

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