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

  1. #1
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    mars 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : mars 2012
    Messages : 13
    Points : 12
    Points
    12
    Par défaut comptage de lignes sur possession de 2 critères
    Bonjour,
    Je souhaiterais compter le nombre de lignes possédant deux critères, 1 fixe et l'autre sur une date à moins de 31 jours (en fait le mois courant).
    Colonnes : A = des prénoms ; B des dates ; de C:ZB, d'autres col.

    Comment compter le nombre de lignes
    1) si "Fabienne" en col. A (prénom)
    1) SI et seulement si la date est <= 31 jours ?
    Pour la date je compare les dates col. B avec une cellule (disons ZA1)
    Plus tard, lorsque gràce à vous, je serais sortie du bois, je remplacerai par aujourdhui() en ZA1.
    Seule, la comparaison de dates me pose problème ( recherchev() ?? )

    Merci par avance, ainsi qu'à Pierre FAUCONNIER pour ses didactiques.

  2. #2
    Membre confirmé Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : avril 2012
    Messages : 290
    Points : 481
    Points
    481
    Par défaut
    Bonjour,

    J'ai pas exactement bien cerné ton problème, j'ai cependant fait un petit Excel pour toi. Dis moi si sa s'approche de ce que tu souhaites.

    Dans Col A : Les Noms
    Dans Col B : La date
    Dans Col C : "=SI(B2<AUJOURDHUI()+31;SI(A2="Fabienne";1;0);0)"

    Cdt,
    Fichiers attachés Fichiers attachés
    Pour la carotte, le lapin est la parfaite incarnation du Mal.
    N'oublie pas de ou si la réponse t'a plu ou pas.

    Une fois que le topic est solutionné n'oublie pas

  3. #3
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    mars 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : mars 2012
    Messages : 13
    Points : 12
    Points
    12
    Par défaut
    Bonsoir et merci jackborogar,

    Effectivement, ton code fonctionne.
    Toutefois, en colonne A existent plusieurs Fabienne ; il faut compter le total des lignes
    - qui contiennent Fabienne en col. A
    - si et seulement si la date en col B est <= 31 jours .
    * Pour comparer les dates col. B, j'ai placé une date (pour l'instant en dur) en cell. ZA 1. Plus tard, je mettrai un aujourdhui() dans cette ZA1
    Dans le fichier de tests joint, j'ai déplacé la date référence de ZA1 en F1 (fichier moins lourd ......)
    Merci encore !!!

  4. #4
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur informatique indépendant
    Inscrit en
    novembre 2003
    Messages
    14 888
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur informatique indépendant
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 14 888
    Points : 40 989
    Points
    40 989
    Billets dans le blog
    61
    Par défaut
    Salut.

    Utilise NB.SI.ENS(). Tu peux placer jusqu'à 64 critères et tu évites de passer par une colonne intermédiaire.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Une fois pour toutes, je donne mon avis. Je ne vais pas le répéter à chaque message...
    Si je propose une solution générique sur votre solution spécifique, c'est parce que, fainéant de nature, je privilégie le réutilisable...
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Vous souhaitez rédiger pour DVP? Contactez-moi
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Membre confirmé Avatar de Bear the french
    Homme Profil pro
    Inscrit en
    mai 2012
    Messages
    348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations forums :
    Inscription : mai 2012
    Messages : 348
    Points : 626
    Points
    626
    Par défaut
    Bonsoir,

    La solution de Pierre Fauconnier semble la plus simple et la plus rapide.

    Pour remonter dans le temps, et revenir à 31 jours précédent aujourd'hui, il faut utiliser une combinaison de DATE() et de AUJOURD'HUI() :

    =NB.SI.ENS(A:A;"=Fabienne";B:B;">="&DATE(ANNEE(AUJOURDHUI());MOIS(AUJOURDHUI()-31);JOUR(AUJOURDHUI())))
    Une variante intéressante permet de trouver le nombre de solutions sur le mois civil en cours. Exemple : nous sommes le 3 juin 2012, combien de "Fabienne" sont présentes depuis début juin ?

    =NB.SI.ENS(A:A;"=Fabienne";B:B;">="&DATE(ANNEE(AUJOURDHUI());MOIS(AUJOURDHUI());JOUR(1)))
    Bertrand

  6. #6
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur informatique indépendant
    Inscrit en
    novembre 2003
    Messages
    14 888
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur informatique indépendant
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 14 888
    Points : 40 989
    Points
    40 989
    Billets dans le blog
    61
    Par défaut
    Salut.

    Tant qu'à faire plus simple

    Pour revenir 31 jours en arrière, on doit utiliser
    aujourdhui()-31
    car cette formule fonctionne à tous les coups (*).
    Dans la deuxième formule, l'utilisation de la fonction JOUR(1) est inutile. Il suffit de passer 1 directement. Il sera encore plus pertinent d'utiliser
    AUJOURDHUI()-JOUR(AUJOURDHUI())+1
    pour calculer le premier jour du mois courant, car on utilise moins de fonctions et on est plus "performant" sur de (très) grandes plages de données.

    Puisque l'on est en 2010, il serait probablement judicieux d'utiliser un tableau (se positionner dans la plage source puis insertion > tableaux > tableau), de manière à :
    • éviter d'utiliser la formule sur l'entièreté des colonnes ;
    • rendre la formule plus lisible par l'utilisation des références structurées.




    (*) Bertrand,

    Attention que ta formule
    DATE(ANNEE(AUJOURDHUI());MOIS(AUJOURDHUI()-31);JOUR(AUJOURDHUI())
    recule de deux mois si nous sommes le premier jour d'un mois qui suit un mois de 30 jours. Ta formule pour le 01/05 renvoie le 01/03.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Une fois pour toutes, je donne mon avis. Je ne vais pas le répéter à chaque message...
    Si je propose une solution générique sur votre solution spécifique, c'est parce que, fainéant de nature, je privilégie le réutilisable...
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Vous souhaitez rédiger pour DVP? Contactez-moi
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  7. #7
    Membre confirmé Avatar de Bear the french
    Homme Profil pro
    Inscrit en
    mai 2012
    Messages
    348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations forums :
    Inscription : mai 2012
    Messages : 348
    Points : 626
    Points
    626
    Par défaut
    Citation Envoyé par Pierre Fauconnier
    (*) Bertrand,
    Attention que ta formule
    recule de deux mois si nous sommes le premier jour d'un mois qui suit un mois de 30 jours. Ta formule pour le 01/05 renvoie le 01/03.
    Bonjour,

    Effectivement, ma formule n'est pas correcte. Merci de l'avoir rectifier.

    Bertrand

  8. #8
    Membre expert

    Homme Profil pro
    Retraité
    Inscrit en
    juin 2012
    Messages
    1 502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : juin 2012
    Messages : 1 502
    Points : 3 406
    Points
    3 406
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Une autre façon de donner le 2ème critère pour les lignes correspondant au mois civil en cours (moins rapide sans doute que la proposition de Pierre Fauconnier sur un long tableau) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ">"&FIN.MOIS(AUJOURDHUI();-1)
    (à condition de ne pas être sur une version trop ancienne d'Excel ne possédant pas cette fonction)
    Cordialement

  9. #9
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur informatique indépendant
    Inscrit en
    novembre 2003
    Messages
    14 888
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur informatique indépendant
    Secteur : Enseignement

    Informations forums :
    Inscription : novembre 2003
    Messages : 14 888
    Points : 40 989
    Points
    40 989
    Billets dans le blog
    61
    Par défaut
    Bien vu Claude...
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Une fois pour toutes, je donne mon avis. Je ne vais pas le répéter à chaque message...
    Si je propose une solution générique sur votre solution spécifique, c'est parce que, fainéant de nature, je privilégie le réutilisable...
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Vous souhaitez rédiger pour DVP? Contactez-moi
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

Discussions similaires

  1. Colorer ligne sur Critère dans un sous_Formulaire
    Par CLASSIQUE dans le forum IHM
    Réponses: 2
    Dernier message: 06/04/2013, 18h20
  2. Réponses: 3
    Dernier message: 11/05/2012, 04h26
  3. Comptage par type sur la même ligne
    Par cana13 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 22/12/2010, 15h47
  4. Suppression de ligne sur critère
    Par XaXa2010 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 17/03/2010, 01h16
  5. Masquer / démasquer des lignes sur critère.
    Par marc56 dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 28/02/2008, 02h54

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