Quelle formule utiliser

Bonjour,

Dans une feuille, j'ai des dates (mois et année) à partir de C1, qui débute en janvier 2009 pour aller jusqu'en décembre 2016 (entête de colonne).
Ensuite, J'ai des numéros d'items dans la colonne A, suivi du nom de chaque item dans la colonne B.
Chaque autre feuille correspond à un item.
Dans ces autres feuilles, je veux mettre une formule mais je ne sais pas laquelle.
Le but est juste de dire si oui ou non il y a des données d'entrées dans des mois et années pour un item donné.
Par exemple: si en mars 2009 j'ai mis un chiffre, même s'il n'y en a pas dans les autres mois de CETTE année, je veux que dans la feuille de cet item ça me dise qu'il y en a eu au moins 1. Sinon, il faut que ça marque rien.
Donc, quelque chose du genre, pour l'item 1 dont la formule irait chercher les données dans la ligne 2 de la feuille DATA: SI dans la feuille DATA, il y a quelque chose d'écrit entre C2 et N2 (qui représente 2009), met un X. Sinon, met rien.
Et j'ai une ligne dans cet item pour chaque année. Donc, la formule suivante irait chercher une autre sélection pour 2010, etc...

Je n'y arrive pas avec la formule SI. Et je ne suis pas très familière avec les autres formules. J'aurais vraiment besoin de votre aide pour composer ma formule svp.

Merci et passez une bonne journée.

29 réponses

Résumé de la discussion

Un utilisateur cherche une méthode Excel pour qu'une feuille par item signale s'il existe une donnée d'entrée pour combinaison mois-année dans une plage allant de janvier 2009 à décembre 2016. Plusieurs réponses proposent d'utiliser NBVAL ou NB.SI.ENS avec DECALER et DATEVAL pour compter les entrées non vides dans les colonnes représentant chaque année, au lieu d'additionner des colonnes supplémentaires. Des échanges évoquent des limites dues à des cellules contenant du texte, l'influence du type de données sur les résultats et la nécessité d'adapter les formules lorsque les colonnes évoluent. En dernière partie, une solution sans colonnes supplémentaires est évoquée, permettant d'étendre le calcul à autant de mois que nécessaire grâce à une approche générale combinant NBVAL et des critères dynamiques.

Bobot (l’IA à votre service)
  1. Ouf!

    Bonne journée également et bon weekend

    Pour passer en résilu c'est tout en haut à droite de ton premier message

    Cdlmnt
    Via
    0
    1. ça y est !!!
      ça fonctionne finalement ! Ouf !
      J'ai dû juste inverser les sections de formule qui réfèrent aux dates:
      ex: DATEVAL("01/02/"&L4+1) changé pour DATEVAL(L4+1&"/02/01")
      un gros gros merci pour tout le travail que tu as fait pour moi. C'est très apprécié. Mon mari aussi est très content, il avait hâte d'entrer ses données et de monter ses tableaux pour chaque espèce.

      merci encore et bonne journée.

      p.s.: je ne vois pas le bouton pour dire: résolu :(
      0
      1. Tu ne me dis pas si tu as essayé la formule que je te donnais dans mon dernier message ? Elle doit marcher elle

        Je confirme chez moi ça fonctionne pour colvert avec :
        =SI(N4="";"";NB.SI.ENS(DECALER('Data Avicourse'!$1:$1;$D$3;);"X";'Data Avicourse'!$1:$1;DATEVAL("01/12/"&L4 ))+NB.SI.ENS(DECALER('Data Avicourse'!$1:$1;$D$3;);"X";'Data Avicourse'!$1:$1;DATEVAL( "01/01/"&L4+1 ))+NB.SI.ENS(DECALER('Data Avicourse'!$1:$1;$D$3;);"X";'Data Avicourse'!$1:$1;DATEVAL("01/02/"&L4+1 )))

        "L'imagination est plus importante que le savoir."    A. Einstein
        0
        1. Je viens de faire une autre tentative: j'ai rajouté une colonne dans bernache, après la colonne N dans le but de séparer les années. Au lieu d'écrire 2009-2010, j'ai 2009 dans une colonne et 2010 dans une autre.
          Et j'ai modifié la formule dans la colonne P pour ceci:

          =SI(N3="";"";NB.SI.ENS(DECALER('Data Avicourse'!$1:$1;$D$3;);"X";'Data Avicourse'!$1:$1;">="&DATEVAL(N3&"/12/01");'Data Avicourse'!$1:$1;"<="&DATEVAL(O3&"/02/29")))

          mais ça marche pas plus :(

          Ce coup-ci, si c'est pas à cause du format date, est-ce que ce serait parce que dans la feuille Avicourse, ce sont des formules qui vont chercher les X dans la feuille Grande Année ? J'ai aussi fait le test. J'ai effacé les formules dans Avicourse pour y mettre des X manuellement. Toujours pas de résultat.
          Mon côté logique est mis à dure épreuve ! Je continue de chercher.
          En attendant, voici mon dernier fichier avec les changements mais juste dans la bernache. J'ai pas changé le Colvert.

          https://www.cjoint.com/c/FBAam4vTppV

          Merci
          0
          1. Je ne comprends pas pourquoi ça marche quand on recherche entre le 1er janvier et le 31 décembre et pas lorsqu'on recherche entre le 1er decembre et le 29 février !

            Procédons autrement, on va compter mois par mois puisqu'il y en a que 3 et en se basant sur l'année en L; et ça a l'air de fonctionner (chez moi en tout cas avec les dates indiquées sous le format français qui marche pour moi)
            Essaye toi avec :
            =SI(N3="";"";NB.SI.ENS(DECALER('Data Avicourse'!$1:$1;$D$3;);"X";'Data Avicourse'!$1:$1;DATEVAL(L3 & "12/01" ))+NB.SI.ENS(DECALER('Data Avicourse'!$1:$1;$D$3;);"X";'Data Avicourse'!$1:$1;DATEVAL(L3+1 & "01/01/"))+NB.SI.ENS(DECALER('Data Avicourse'!$1:$1;$D$3;);"X";'Data Avicourse'!$1:$1;DATEVAL(L3+1 & "02/01/")))

            Cdlmnt
            Via
            0
            1. est-ce que pour l'avicourse, le bug serait à cause de la date dans la colonne N de la première feuille, ex: 2009-2010 alors que dans la feuille de l'avicourse, les colonnes C, D et E font référence à soit 2009, soit 2010 mais pas avec la date écrite 2009-2010 ?
              0
              1. sauf que j'ai rajouté pleins de X pour voir les résultats et j'ai quand même juste un 1 en 2015-2016
                0
                1. Re,

                  Oui tes modifications sont parfaites, moi aussi je n'ai que 1 en 2015-2016 (regarde mas copie d'écran) ce qui est normal puisque dans Avicourse tu n'as qu'une seule x en dec 15

                  Cdlmnt
                  Via
                  0
                  1. salut,

                    j'ai tenté de changer mon format de date en tous les formats possibles mais ça ne marchait pas. J'ai donc essayé partiellement ce que tu m'as dit. Pour la colonne M, j'ai dû changer DATEVAL("01/01/"&L3) pour DATEVAL(L3&"/01/01") et DATEVAL("31/12/"&L3) pour DATEVAL(L3&"/12/31")
                    c'est réglé pour cette colonne, ça marche.
                    Mais pour la colonne O, j'ai pas réussi.
                    J'ai changé DATEVAL("01/12/"&GAUCHE(N3;4)) pour DATEVAL(GAUCHE(N3;4)&"/12/01") puis DATEVAL("29/02/"&DROITE(N3;4)) pour DATEVAL(DROITE(N3;4)&"/02/29")

                    Etrangement, pour la colonne O, j'ai des 0 partout sauf en 2015-2016 qui me donne 1.
                    ai-je bien modifié les formules ?
                    0
                    1. Re ;)

                      1) Pour joindre l'image tu fais une copie d'écran que tu enregistres (dans Mes images par ex)
                      Ensuite en haut du message le dernier bouton doit permettre d'aller chercher l'image et de la charger

                      2) Je vois bien la capture envoyée et je n'y comprends rien ! Pourquoi les formules rendent 0 dans ton cas ? Je ne vois qu'un format de date différent (si tu es en date anglaises par ex ?) que ne comprendrait pas la formule

                      Si c'est le cas essaye dans la formule en M3
                      =SI(L3="";"";NB.SI.ENS(DECALER('Data Grande Année'!$1:$1;$D$3;);"X";'Data Grande Année'!$1:$1;">="&DATEVAL("01/01/"&L3);'Data Grande Année'!$1:$1;"<="&DATEVAL("31/12/"&L3))) de remplacer 31/12/ par 12/31/

                      puis dans la formule en O3
                      =SI(N3="";"";NB.SI.ENS(DECALER('Data Avicourse'!$1:$1;$D$3;);"X";'Data Avicourse'!$1:$1;">="&DATEVAL("01/12/"&GAUCHE(N3;4));'Data Avicourse'!$1:$1;"<="&DATEVAL("29/02/"&DROITE(N3;4))))
                      de remplacer 01/12/ par 12/01/ et 29/02/ par 02/29/

                      Cdlmnt
                      Via

                      "L'imagination est plus importante que le savoir."    A. Einstein
                      0
                      1. bonjour via55, ici Pastel28

                        j'ai réussi à me connecter, j'avais perdu mon mot de passe et j'ai quelques difficultés avec les accès à ce site quand je suis au bureau. On me bloque des fois. J'ai même pas pu downloader des fichiers, le firewall le bloquait. alors je jongle entre la maison et le bureau.

                        Là j'essaie de faire un print screen avec mon outil de capture mais ça marche pas plus. Ni avec CTRL-ALT-PRINT SCREEN.

                        donc, je peux juste te faire un copier/coller direct de excel:

                        grande avicourse
                        année
                        1 2009 0 2009-2010 0
                        25 avril 2009 2010 0 2010-2011 0
                        2011 0 2011-2012 0
                        Bernache du Canada 2012 0 2012-2013 0
                        Anatidés 2013 0 2013-2014 0
                        2014 0 2014-2015 0
                        0 / 8 2015 0 2015-2016 0
                        0 / 7 2016 0

                        et non, je ne vois pas les mêmes résultats que toi. Qu'est-ce qui peut affecter les formules dans mon ordi ? Que le fichier soit sur mon ordi de bureau ou à la maison, j'ai les mêmes résultats, soit des 0 :(
                        0
                        1. Re

                          Non pas nulle, il faut être membre je crois pour avoir accès à cette fonction
                          Mais en ce qui concerne ton fichier tu n'a pas comme moi alors ?
                          0
                          1. tiens, je ne savais pas qu'on pouvait envoyer des print screen dans un message.

                            comment fait-on ? J'ai essayé mais ça marche pas.
                            Faut croire que je suis nulle :)
                            0
                            1. Bonjour
                              Je ne comprends pas les valeurs s'affichent bien dans le fichier que tu m'as renvoyé :



                              Cdlmnt
                              Via
                              0
                              1. il y a bien un 1 en D3 et la feuille est en calcul automatique.

                                voici le fichier

                                http://www.cjoint.com/c/FBzc1VVbXRf

                                merci.
                                0
                                1. oui la formule est bien celle que j'ai rentré et chez moi les calculs se font bien ! avec les résultats indiqués dans mon dernier message
                                  Vérifie :
                                  1) Qu'il y a bien 1 en D3
                                  2) Que ta feuille est bien en calcul automatique et non pas manuel Dans le ruban aller dans Formules puis Options de calcul

                                  Si ça ne règle pas la question, renvoie moi ton fichier via cjoint et je regarderai demain
                                  0
                                  1. Ouf, on dirait que je ne vois pas les mêmes choses que vous deux.
                                    Dans le premier fichier envoyé par via55, les résultats des colonnes M et O de la feuille bernache donnent tous les 0. La formule est:
                                    =SI(L3="";"";NB.SI.ENS(DECALER('Data Grande Année'!$1:$1;$D$3;);"X";'Data Grande Année'!$1:$1;">="&DATEVAL("01/01/"&L3);'Data Grande Année'!$1:$1;"<="&DATEVAL("31/12/"&L3)))
                                    et aux lignes 9 et 10, ça me donne: 0/8 et 0/7
                                    0
                                    1. donc, si je prends le fichier de via55, dans la feuille bernache, colonne M, je dois remplacer les NB par NB.CAR ?
                                      0
                                      1. Contributeur
                                        NON !!! Surtout pas !

                                        Relis et essaie de comprendre mes posts #8 et #10 ...
                                        0
                                    2. Bonsoir à tous les deux

                                      Non la formule de base n'est pas trop compliqué, un simple NB.SI.ENS avec les plages et les critères de dates puis comme la ligne n'est pas fixe mais variable en fonction du n° espèce avec DECALER on décale d'autant de lignes à partir de la 1ere pour compter les X dans la bonne ligne

                                      Par contre je ne comprends pas que tu dises Le hic, c'est que je ne vois pas le résultat dans la colonne M et O car il y a des X dans mes feuilles DATA. Pourquoi ça ne les compte pas ?

                                      Dans les fichier envoyé il y a bien par ex dans la feuille bernache, en colonnes L et M les valeurs suivantes qui s'affichent, ainsi 7 X sont comptabilisées pour 2015

                                      2009 2
                                      2010 1
                                      2011 1
                                      2012 2
                                      2013 0
                                      2014 3
                                      2015 7
                                      2016 0

                                      Où est le souci alors ?

                                      Cdlmnt
                                      Via
                                      "L'imagination est plus importante que le savoir."    A. Einstein
                                      0
                                      • 1
                                      • 2