CountIfs 1 critère avec plage variable ds boucle Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
lillysg
Membre habitué
Membre habitué
Messages : 120
Inscrit le : 14 juillet 2014
Version d'Excel : 2013

Message par lillysg » 30 décembre 2014, 12:44

:slt: à tous...
J'ai encore besoin de vos lumières.... :D
Bon comme d'habitude c'est pour passer en vba des formules qui "plombent" mes fichiers...

D'après ce que j'ai lu ici et ailleurs ce qui correspond à mes "anciennes" formules : "= SI (NB.SI.ENS(B3;"=True";C3;"=True";D3;"=True";E3;"=True")>0;"True";"False")" serait COUNTIFS suivi de IF ELSE....

D'après ce que j'ai compris... ce qui est peut-être faux....
avec CountIfs....
Var = Application.WorksheetFunction.CountIfs("Plage où chercher les valeurs des arguments","argument1","argument2".....)

Alors j'ai strictement appliqué cela... mais il doit y avoir un souci car systématiquement j'ai dans la colonne résultat le mot "Faux" même quand toutes les valeurs des éléments de la plage correspondent à l'unique argument (qui est le mot "True")....
Peut-être est-ce du au fait que cette formule est incluse dans une boucle de ligne et que la plage change à chaque ligne... Là, je sais plus trop du coup... :?
Et comme d'habitude, après avoir chercher ici... (et pas tout compris à certaines explications probablement... :roll: )...
Je vous demande de l'aide si vous pouvez... et si possible ... m'expliquer votre code afin que je le comprenne bien....

Vous avez le fichier et les souhaits en pièce jointe....

D'avance :merci:
WbH.xlsm
(20.85 Kio) Téléchargé 26 fois
Lilly...
« Errare humanum est, sed persevare diabolicum est » (l’erreur est humaine, persévérer dans celle-ci est diabolique)
Avatar du membre
James007
Passionné d'Excel
Passionné d'Excel
Messages : 9'308
Appréciations reçues : 182
Inscrit le : 30 août 2014
Version d'Excel : 2007 EN

Message par James007 » 30 décembre 2014, 15:35

Bonjour Lilly ... :wink:

Ci-joint ton fichier test ... :)
WbH.xlsm
(22.65 Kio) Téléchargé 64 fois
Modifié en dernier par James007 le 31 décembre 2014, 07:32, modifié 1 fois.
A+

:)

Quand on n’a qu’un marteau, tous les problèmes deviennent des clous…
Avatar du membre
lillysg
Membre habitué
Membre habitué
Messages : 120
Inscrit le : 14 juillet 2014
Version d'Excel : 2013

Message par lillysg » 31 décembre 2014, 07:06

:-))) Bonjour James...

Désolée de ne pas avoir répondu plus tôt....

Alors là... encore... :sp: ....

Bon au départ j'avais presque fait comme sur le fichier en retour... mais avec le "if" pluriel... donc je pense que c'est pour cela que mon code ne fonctionnait pas.... j'en déduit donc que pour cette worksheet.function c'est le nombre d'argument qui détermine si on emploi le if singulier ou pluriel... Est-ce exact ? :??

Une Autre petite question.... avant que je ne refasse une boulette :tap: ..... de compréhension... :D d'utilisation des functions et que cela génère un nouveau post... ::~

Dans l'exemple les colonnes à compter dans la plage sont contigües.... mais la plupart du temps elle ne le sont pas....

donc pour la plage comment faut-il faire (j'ai bien une petite idée... mais je suis pas sure du tout qu'elle soit correcte... )?.... :hein:

Bon je pose cette question pour CountIf... mais elle est aussi valable pour d'autres colonnes qui seront des "sum"... (à priori... car je me suis pas encore penchée sur le passage des "somme si ensemble" via vba....)

Peux tu m'éclairer ? :sun: .... grand. :ave: Bond ... ?.... :hahaha: .....

Encore Merci pour tes réponses judicieuses ...
Au plaisir de te lire....
Lilly...
« Errare humanum est, sed persevare diabolicum est » (l’erreur est humaine, persévérer dans celle-ci est diabolique)
Avatar du membre
James007
Passionné d'Excel
Passionné d'Excel
Messages : 9'308
Appréciations reçues : 182
Inscrit le : 30 août 2014
Version d'Excel : 2007 EN

Message par James007 » 31 décembre 2014, 07:25

Bonjour Lilly ... :-)))

Le moins que je puisse dire ... c'est que tu comprends tout ... et, en plus ... extrêmement vite ... :(huuu):

C'est effectivement le nombre d'argument (dans ton cas 1 seul ...) qui détermine le type Countif() ...

En ce qui concerne, les plages constituées de cellules non contigües ..., je ne sais pas à quelle solution tu penses ...
car il existe plusieurs possibilités .... (suspense insoutenable ...:chut: )
A+

:)

Quand on n’a qu’un marteau, tous les problèmes deviennent des clous…
Avatar du membre
lillysg
Membre habitué
Membre habitué
Messages : 120
Inscrit le : 14 juillet 2014
Version d'Excel : 2013

Message par lillysg » 31 décembre 2014, 09:07

:slt: James...

Merci pour le compliment... c'est que la boite à neurones n'est pas toujours sur le mode "blonde à l'intérieure"... :D

Bon plus sérieusement....
J'ai regardé sur l'aide en ligne microsoft....
A priori donc quand les colonnes ne sont pas côte à côte il faudrait utiliser "Countifs"....
Enfin c'est ce que je crois avoir compris dans le :
" Arg1 - Obligatoire- Plage-Une ou plusieurs plages dans lesquelles évaluer les critères associés. "
de l'aide microsoft....
puisque dans l'aide de "Countif" il est question d'une seule plage... et non de plusieurs...
Mais j'ai pas du bien comprendre comment le "concrétiser".... vu que mon test fonctionne pas.... pour le moment... :marre:
En réel je peux avoir aucune colonne de la plage en contigüe... donc j'ai testé en dissociant une seule colonne partant du principe que ce qui vaut pour une vaut pour x colonnes... en m'inspirant d'un code troué ici quand on recherche "countifs"...
... ....
J'adore excel... mais parfois je trouve que c'est complexe... et la "foultitude" de solutions pour arriver au même résultat finit par "embrouiller" la compréhension...
Alors si tu as des idées :sun: .... elles sont le bienvenu.....
Lilly...
« Errare humanum est, sed persevare diabolicum est » (l’erreur est humaine, persévérer dans celle-ci est diabolique)
Avatar du membre
James007
Passionné d'Excel
Passionné d'Excel
Messages : 9'308
Appréciations reçues : 182
Inscrit le : 30 août 2014
Version d'Excel : 2007 EN

Message par James007 » 31 décembre 2014, 09:13

Lilly ... :-)))

A mon humble avis ... le site de Microsoft ne peut pas être considéré ... comme de l'aide ... :roll:

Parce que très souvent, les textes sont traduits (pas très bien de l'anglais ...) et, de plus, les textes originaux sont rédigés par des développeurs méga pointus ... qui, malheureusement, ne se mettent pas du tout à la place des utilisateurs ...

Du coup, LA solution pour apprendre correctement ... consiste à faire ce que tu fais ...apprendre en faisant ... et, si nécessaire, poser des questions sur le Forum ... :D
A+

:)

Quand on n’a qu’un marteau, tous les problèmes deviennent des clous…
Avatar du membre
lillysg
Membre habitué
Membre habitué
Messages : 120
Inscrit le : 14 juillet 2014
Version d'Excel : 2013

Message par lillysg » 31 décembre 2014, 09:38

:snif: .... donc je dois pas me fier aux info de l'aide via "F1" ?....
Parce que pour tout dire... présentement quand je suis pas en train de me prendre la tête avec mes fichiers je passe 95% de mon temps à étudier les propriétés des objets via ce "F1"... c'est passionnant... et complexe... et simple... bref c'est vba... ;;)
....
Bon... :cry: ... donc si je me fis à l'instinct et non à l'aide... comme en fait j'ai systématiquement un seul argument avec la valeur "true" je dois utiliser COUNTIF et faire de mes différentes colonne non contigües une seule plage de recherche...
est-cela ?....
Si oui... je nage encore la brasse coulée... :noyade: .... au sujet de la "concrétisation" de la plage...
Lilly...
« Errare humanum est, sed persevare diabolicum est » (l’erreur est humaine, persévérer dans celle-ci est diabolique)
Avatar du membre
James007
Passionné d'Excel
Passionné d'Excel
Messages : 9'308
Appréciations reçues : 182
Inscrit le : 30 août 2014
Version d'Excel : 2007 EN

Message par James007 » 31 décembre 2014, 09:48

:-))) Lilly :-)))

Contrairement à " l'aide " en ligne ... :cry: :cry: :cry: ...

Sur le Forum, tu peux joindre ton fichier ...
Du coup, au lieu de "théoriser" sur des concepts .... :singe: ...

... On peut concrètement trouver une solution ... :(): :(): :():
A+

:)

Quand on n’a qu’un marteau, tous les problèmes deviennent des clous…
Avatar du membre
lillysg
Membre habitué
Membre habitué
Messages : 120
Inscrit le : 14 juillet 2014
Version d'Excel : 2013

Message par lillysg » 31 décembre 2014, 10:09

:chut: haaaaaaaaaaaaa le mode blonde est de retour.... :uh: .... me faut encore du café....

Alors c'est le fichier que tu m'as renvoyé mais j'ai intercaler plusieurs colonnes vides (pas besoin de connaitre le contenu pour la formule) entre la ref 3ème article et la ref 4ème article.... pour le test avec colonne de la plage non contigües...
donc le résultat recherché est identique sauf que la plage se compose des colonnes B,C,D,I et que le résultat "true" s'inscrit dans colonne AA....
Bon, je peux avoir en réel pour la plage 4 colonnes disjointes (ex : colonnes B D F H).... au lieu d'une plage de colonne BCDE comme dans le fichier du début...
C'est ça que je n'arrive pas à modifier là dans la partie "var" du code... bref retour de la boite à neurone en HS... :roll:

WbI.xlsm
(17.13 Kio) Téléchargé 19 fois
ha ben... oui.... je sais... blonde...
désolée pas mis dans message précédent le fichier...
;;) .... je file chercher le café sauveur...
toutes mes excuses....
Lilly...
« Errare humanum est, sed persevare diabolicum est » (l’erreur est humaine, persévérer dans celle-ci est diabolique)
Avatar du membre
James007
Passionné d'Excel
Passionné d'Excel
Messages : 9'308
Appréciations reçues : 182
Inscrit le : 30 août 2014
Version d'Excel : 2007 EN

Message par James007 » 31 décembre 2014, 11:11

:lol: Blonde :lol:

Lilly ... :ange:

Pour ne pas ré-inventer le fil à couper le beurre à chaque fois ... :D dis-moi si le cas que tu présentes maintenant ... soit une colonne sur deux est véritablement ce dont tu as besoin ... :uh: :scritch:

Ou ... s'agirait-il, par pur hasard, seulement d'un cas particulier .... extrait d'une règle générale ... dans laquelle tu voudrais avoir ... toute la souplesse du choix :?: :?: :?:

:¬OL:
A+

:)

Quand on n’a qu’un marteau, tous les problèmes deviennent des clous…
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message