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 :

Recherche de plusieurs critères sur plusieurs lignes puis addition du nombre [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2013
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 149
    Points : 63
    Points
    63
    Par défaut Recherche de plusieurs critères sur plusieurs lignes puis addition du nombre
    Voir le 4ème message.
    Images attachées Images attachées   

  2. #2
    Membre du Club
    Inscrit en
    Janvier 2013
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 149
    Points : 63
    Points
    63
    Par défaut
    Bonjour,

    Je vois que ce genre de choses semblent compliquées… Peut-être que mon affaire ne vous semble pas clair ?
    N'hésitez pas à me dire, je galère vraiment…

    Merci.

  3. #3
    Membre régulier
    Homme Profil pro
    Technicien méthodes métrologie sur site
    Inscrit en
    Novembre 2010
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Technicien méthodes métrologie sur site
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2010
    Messages : 107
    Points : 114
    Points
    114
    Par défaut
    J'avoue que ça manque de clarté...
    Un fichier excel à joindre serait surement plus clair que des copies d'écran, si possible.

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2013
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 149
    Points : 63
    Points
    63
    Par défaut
    Bien, je vais essayer de la refaire plus simple.

    FEUILLE1 : Les cellules ci-dessous peuvent contenir le texte suivant "X" ou "Y" ou "Z" :

    - Cellules A1 à A30,
    - Cellules C1 à C30,
    - Cellules K1 à K30,
    - etc.

    Ma question est :

    - Si je me place sur FEUILLE2 en A100, C100 et K100,
    - Comment puis-je savoir combien de X, Y ou Z se trouvent dans les plages ci-dessus ?

    Exemple :

    - Je me place en A100, et je rentre cette formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =JE_CHERCHE_TOUS_LES_X(dans_plages A1:A30 + C1:C30 + K1:K30) ET AFFICHE_OCCURENCES_TROUVÉES_EN_CHIFFRE
    - Normalement ça me donne le nombre d'occurrences "X" que contiennent ces cellules additionnées…
    - Et je répète l'opération pour les Y ou Z.

    Je pensais à NB.SI mais je ne m'en sors pas...

  5. #5
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonsoir,
    pas sur d'avoir compris, mais à tester et adapter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub cherche_x()
    Dim a As Long
    a = WorksheetFunction.CountIf(Range("A1:A30"), "x") + WorksheetFunction.CountIf(Range("C1:C30"), "x") + WorksheetFunction.CountIf(Range("K1:K30"), "x")
    Range("A100") = a
    End Sub

  6. #6
    Membre éprouvé Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Points : 973
    Points
    973
    Par défaut
    Bonjour,
    au choix
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    NB.SI(A1:C2;"x")
     
    =NB.SI(A1:A2;"x")+NB.SI(C1:C2;"x")+NB.SI(E1:E2;"x")
     
    =CONCATENER(NB.SI(A1:C2;"x");"x  ";NB.SI(A1:C2;"y");"y  ";NB.SI(A1:C2;"z");"z  ")
    et plus si affinité

  7. #7
    Expert éminent
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    3 906
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 906
    Points : 8 539
    Points
    8 539
    Par défaut
    Salut
    [Edit] Grillé [/Edit]

    Si j'ai bien compris, à mon avis tu as été un cran trop loin dans le forum lorsque tu es venu dans la section VBa

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =NB.SI(Feuil1!A1:A30;"X")
    ++
    Qwaz

  8. #8
    Membre du Club
    Inscrit en
    Janvier 2013
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Janvier 2013
    Messages : 149
    Points : 63
    Points
    63
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub SeekWhat()
        Dim a As Long
            a = WorksheetFunction.CountIf(Range("Q12:AU12"), "?") + WorksheetFunction.CountIf(Range("Q52:AU52"), "?") + WorksheetFunction.CountIf(Range("Q92:AU92"), "?")
            Range("W11") = a
    End Sub
    Ceci est exactement ce que je recherche.
    En revanche, ce code cherche dans la feuille actuelle.

    Comment le faire chercher dans la feuille "DRHID locale" et afficher les résultat en W11 dans la feuille locale "Charge d'emploi" ?

  9. #9
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour,

    simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub SeekWhat()
    Dim a As Long
    With Sheets("DRHID locale")
    'ne pas oublier le point devant les "range"
      a = WorksheetFunction.CountIf(.Range("Q12:AU12"), "?") + WorksheetFunction.CountIf(.Range("Q52:AU52"), "?") + WorksheetFunction.CountIf(.Range("Q92:AU92"), "?")
    End With
    Sheets("Charge d'emploi").Range("W11") = a
    End Sub

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

Discussions similaires

  1. Recherche de plusieurs résultats sur plusieurs critères
    Par Chen norris dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/08/2011, 17h18
  2. Recherche avec critères sur plusieurs lignes
    Par affro-jojo dans le forum Requêtes
    Réponses: 10
    Dernier message: 28/06/2011, 18h36
  3. Requette avec plusieurs critères sur plusieurs tables
    Par kha_yassine dans le forum Requêtes
    Réponses: 3
    Dernier message: 11/04/2008, 22h15
  4. Recherche se basant sur plusieurs critéres!
    Par rach20032 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 21/09/2007, 00h55
  5. Réponses: 6
    Dernier message: 18/03/2007, 16h22

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