CountIfs 1 critère avec plage variable ds boucle

à tous...

J'ai encore besoin de vos lumières....

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... )...

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

26wbh.xlsm (20.85 Ko)

Bonjour Lilly ...

Ci-joint ton fichier test ...

70wbh.xlsm (22.65 Ko)

Bonjour James...

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

Alors là... encore... ....

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 ..... de compréhension... 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... )?....

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 ? .... grand. Bond ... ?.... .....

Encore Merci pour tes réponses judicieuses ...

Au plaisir de te lire....

Bonjour Lilly ...

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

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 ... )

James...

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

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...

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 .... elles sont le bienvenu.....

Lilly ...

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

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 ...

.... 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... ... 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... .... au sujet de la "concrétisation" de la plage...

Lilly

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

Sur le Forum, tu peux joindre ton fichier ...

Du coup, au lieu de "théoriser" sur des concepts .... ...

... On peut concrètement trouver une solution ...

haaaaaaaaaaaaa le mode blonde est de retour.... .... 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...


25wbi.xlsm (17.13 Ko)

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....

Blonde

Lilly ...

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

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

oui blonde... à l'intérieur suivant état de fatigue et manque de café...

Bon en fait je pense, vu mes données réelles que je vais partir sur le principe que toutes les colonnes qui sont dans la plage sont disséminées un peu partout dans ma feuille... parce que c'est le cas le plus courant pour ce type de "var"...

Donc souplesse du choix au maximum possible....

... ... c'est possible ?....

En tout cas merci beaucoup d'être aussi patient avec moi....

lillysg a écrit :

oui blonde... à l'intérieur ...

Donc souplesse du choix au maximum possible....

... ... c'est possible ?....

En tout cas merci beaucoup d'être aussi patient avec moi....

Je suis sûr et certain que tu le mérites ...

La souplesse ... Max ... attention au dos

Je vais prendre le temps de coder TA Plage ...

....

tu me retire une bonne épine du pied...

et que dire du dos

Lilly ...

Ci-joint ... ton dernier fichier ... à tester ... et à étudier ...

27wbi.xlsm (24.80 Ko)

Coucou James ....

Merci beaucoup....

Je dois filer... il parrait que ce soir c'est le réveillon... et blonde attitude oblige... j'ai oublié de faire quelques courses... je crois pas que les ami(e)s apprécieront de manger du code vba plutôt que de la bonne chair... ....

Alors je regarde dès que je peux en détail... parce que là j'ai juste survolé et faut que je comprenne....

Encore merci pour ton aide précieuse....

Et si je ne peux revenir avant je te souhaite un très bon réveillon .... et pleins de beaux cadeaux pour cette nouvelle année 2015...

Lilly ...

A mon tour ... je te souhaite un Super Réveillon ...

Sans trop abuser ...

Mais quand même ....

Et ... à l'année prochaine

...

.... BONJOUR & TOUS MES VOEUX POUR 2015

Alors James... Très belle Année 2015... & Merci pour tes voeux....

Du coup je commence bien l'année... après avoir décortiquée le fichier dès 5h du mat (promis je ne rentrais pas de fête...)

désolée... ce n'est pas possible de faire comme indiqué...

Je joint le fichier avec les explications...

Alors, je sais que c'est pas du superbe code que je pratique... mais en fait il y en a un qui fonctionne et qui est tout simplement une accumulation de AND dans du IF...

C'est pas préconisé pour les gros fichiers... je l'ai lu je ne sais combien de fois.... ce qui explique aussi ma démarche de passer par COUNTIF avec ou sans "s"... solution avec lesquelles j'ai systématiquement une erreur à cause de la (des) plages....

mais là ... en désespoir de cause... et si tu n'as pas une autre idée .... je vais me résoudre à faire ainsi...

Alors dis moi franchement....

Bon, je retourne "fouiller" de partout....

A +

26wbi-test2.xlsm (26.82 Ko)

Lilly

BONNE et HEUREUSE ANNEE 2015 ...

Il me semble avoir compris que tous tes calculs démarrent à la ligne 3 ... donc soit la ligne 1 ou la ligne 2 doivent nous permettre de trouver un identifiant qui permette avec certitude de savoir si la colonne fait ou ne fait partie du calcul ...

Je viens de reprendre ton dernier fichier... et je me demande comment la ligne 2 est alimentée ... et surtout si les résultats affichés dans chacune des cellules ne pourraient pas servir à clairement déterminer si les colonnes respectives doivent Oui ou Non ... être prises en compte ...???

Peux-tu m'éclairer en détail sur ces deux lignes (peut-être avec des données réelles) ???

Re coucou

Désolée.... un Peu Beaucoup ... à l'ouest aujourd'hui...

Alors en réel la ligne 1 avec écrit col 1, col2 .... n'existe pas... elle est là juste pour me faciliter la vie pour les essais de code... vu que j'ai pas loin de 12000 colonnes et que le repérage des colonnes avec "cells" se fait qu'avec des chiffres....

En réel les colonnes B à K sont les colonnes 36 à 45... et les en-êtes sont la reprise de certaines données saisies sur la dernière ligne de colonnes précédentes... là en l’occurrence 27 à 31 ... et ces en-têtes servent dans les calculs pour déterminer les valeurs vrai/faux des cellules des colonnes pour lesquelles elles sont les en-têtes...

Est ce assez clair ? parce que là (promis c'est pas les excès mais plutôt un manque d'habitude qui a fait copain/copain avec un mauvais courant d'air ) je suis HS de HS.... et j'ai un peu de difficulté à ne pas être "blonde attitude" entre la fièvre, les mouchoirs, l'estomac qui fait yo yo et le qui me tend les bras ....

Si c'est pas le cas... merci de me le dire...

Belle fin de journée...

A +

Lilly

Bonjour ... en espèrant que tu ailles mieux ....

Soyons le plus clair possible ... ce qui compte c'est ce que tu appelles le " repérage avec des chiffres" ... ???

Quelle est donc cette règle secrète ... qui permet ce "repérage" ...???

Rechercher des sujets similaires à "countifs critere plage variable boucle"