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 nb de cellules avec plusieurs critères


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Août 2014
    Messages : 45
    Par défaut compter le nb de cellules avec plusieurs critères
    Bonjour,

    Je profite encore de ce forum vraiment efficace pour vous poser une question,

    J'aimerais savoir s'il existe une fonction simple qui permette de compter le nb des cellules choisies d'une colonne.

    Par exemple, j'aimerais compter le nombre de cellule d'une même colonne dont le texte commence par la lettre A, ou B, OU C

    j'imagine qu'il faut utiliser NB.SI.ENS mais je n'y arrive pas...

    Merci d'avance pour votre aide,

    Marc

  2. #2
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Par défaut
    Tu fais un NB.SI à plusieurs critères ou tu fais trois NB.SI ( un pour A, un pour B et un pour C) et tu additionne.

  3. #3
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Août 2014
    Messages : 45
    Par défaut
    en fait ma question était incomplète,

    j'aimerais :

    1. sélectionner une plage spécifique dans une colonne (toutes les cellules dont le texte commence par A, B ou C).

    2.puis dénombrer le nombre de cellules avec le critère "18" par ex dans une autre colonne.


    1ere col 2ème col(avec les critères)

    A... "18"
    B.... "17"
    C... "18"
    A... "18"
    A... "16"

    ici le résultat serait donc 3...

    voilà j'espère que j'ai été plus clair !

    merci encore

  4. #4
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Par défaut
    Tu ajoutes une colonnes dans laquelle tu récupères tes lettres.

    Tu filtres tes colonnes avec les valeurs choisies.

    Tu fais écris =SOUS.TOTAL(3;B2:B7), dans la case où tu veux ton résultat modifiant la plage de valeur.

  5. #5
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Août 2014
    Messages : 45
    Par défaut
    merci mais j'espère trouver un moyen "plus simple ":

    j'avais tenté

    =NB.SI.ENS(C:C;(NB.SI(C:C;"A*")+NB.SI(C:C;"B*") + NB.SI(C:C;"C*"));E:E;"18")

    sans succès ça m'affiche 0

    je m'y remets !

  6. #6
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Par défaut
    Voila un fichier qui normalement fait ce que tu veux
    Fichiers attachés Fichiers attachés

  7. #7
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Août 2014
    Messages : 45
    Par défaut
    j'ai testé ton code HAD et ce n'est toujours pas ce que je recherche même si on se rapproche.

    car dans ton exemple le critère "18" n'est pas défini.

    merci quand même de ton aide

  8. #8
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Par défaut
    car dans ton exemple le critère "18" n'est pas défini.
    Tu veux absolument que le critère 18 soit dans la formule?

  9. #9
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Août 2014
    Messages : 45
    Par défaut
    je veux compter le nb de cellules uniquement dont le critère est 18 (ou n'importe quoi d'autre) pour certaines cellules uniquement (cellules qui commencent par un A, ou un B ou un C)


    ex :

    col 1 plage qui contient uniquement les cellules qui commencent par A, B ou C)
    col 2 plage avec le critère

    A --> 18
    B --> 17
    C --> 18
    A --> 10
    C --> 152
    A --> 12
    A --> 10
    A --> 1

    une fois que ma colonne 1 a été "filtrée" je ne compte que les "18" ici je trouve 2

  10. #10
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Tu te fais une petite macro de 10 lignes avec une boucle For to et quelques If et la question est réglée.

  11. #11
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Bonjour le fil, bonjour le forum,

    Peut-être comme ça :

    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
    Sub Macro1()
    Dim O As Object 'déclare la variable O (Onglet)
    Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
    Dim PL As Range 'déclare la variable PL (PLage)
    Dim CEL As Range 'déclare la variable CEL (CELlule)
    Dim NC As Integer 'déclare la variable NC (Nombre de Cellules)
     
    Set O = Sheets("Feuil1") 'définit l'onglet O (à adapter)
    DL = O.Cells(Application.Rows.Count, 1) 'définit la dernière ligne éditée Dl de la colonne 1 (=A) de l'onglet O
    Set PL = O.Range("A1:A" & DL) 'définit la plage PL
    For Each CEL In Range 'boucle sur toutes les cellules CEL de la plage PL
        Select Case UCase(Left(CEL.Value, 1)) 'agit en fonction de la première lettre de la cellule CEL (convertie en majuscule)
            Case "A", "B", "C" 'cas A, B ou C
                If CEL.Offset(0, 1).Value = 18 Then NC = NC + 1 'si la cellule en colonne B vaut 18 incrémente NC
        End Select 'fin de l'action en fonction de...
    Next CEL 'prochaine cellule de la boucle
    MsgBox T 'affiche le total dans un message
    End Sub

  12. #12
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2014
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Août 2014
    Messages : 45
    Par défaut
    oui c'est justement ce que je cherchais Menhir, je précise que je débute en VBA

    merci thautheme, ça fonctionne

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

Discussions similaires

  1. [XL-2010] Compter le nombre avec plusieurs critères
    Par matlabation dans le forum Excel
    Réponses: 9
    Dernier message: 22/01/2015, 11h39
  2. Réponses: 6
    Dernier message: 26/08/2013, 11h56
  3. trouver le nombre de cellules avec plusieurs critères
    Par nadyves dans le forum Conception
    Réponses: 2
    Dernier message: 25/01/2013, 08h19
  4. requête SQL avec plusieurs critères de sélection
    Par gailup dans le forum Langage SQL
    Réponses: 1
    Dernier message: 04/06/2007, 08h44
  5. VBA-E Comment réaliser une recherche avec plusieurs critères ?
    Par Larsen21 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 14/12/2006, 13h43

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