Question de totalisations de caractères

Bonjour,

J'ai une nouvelle question complexe...

Dans ma colonne AY figurent des * (entre 1 et 4000).

Je souhaite qu'en AJ107 elles soient comptabilisées.

Vous savez comment faire pour faire apparaître dans la case un résultat du type "562*/4000" ?

(dans cet exemple, 562 serait le nombre de * figurant dans ma colonne AY / * serait un caractère figé / 4000 serait le nombre de lignes consultées (sachant que l'intégralité des lignes ne sont pas prises en compte car certaines sont des espaces vides.

Merci d'avance!!

Re !

=NB.SI(AY:AY;"*")&"*/"&NBVAL(AY:AY)

Je t'explique :

NB.SI(AY:AY;"*") compte le nombre de cellules qui sont égales à la valeur étoile dans la colonne AY

&"*/"& écrit ton caractère figé (autrement dit */ )

NBVAL(AY:AY) compte le nombre de cellules où il y a une donnée, qu'elle soit étoile ou pas, dans la colonne AY.

Super!

Alors par contre ça fonctionne bien pour le premier niveau mais dès que je complexifie un peu, ça ne fonctionne plus.

J'ai tenté (pour le 2ème niveau) :

=NB.SI((ay12:ay52;AY63:AY103);"*")&"*/"&NBVAL(ay12:ay52;AY63:AY103) mais ils me disent que c'est trop complexe...

Pour le 3ème niveau :

=NB.SI((ay12:ay52;AY63:AY103;ay114:ay164);"*")&"*/"&NBVAL(ay12:ay52;AY63:AY103;ay114:ay164)

Comment dois-je faire?

Sans un fichier exemple, difficile de comprendre ce que tu cherches.

Pour ton exemple, ta syntaxe est erronée :

Un NB.SI ne peux pas contenir plusieurs plages de recherches, si tu veux chercher dans plusieurs plages, il faut faire plusieurs NB.SI et les additionner. c'est la même chose pour le NBVAL.

=(NB.SI(AY12:AY52;"*")+NB.SI(AY63:AY103;"*"))&"*/"&(NBVAL(AY12:AY52)+NBVAL(AY63:AY103))

La formule que tu me donnes fonctionne déjà beaucoup mieux.

Un point, par contre est déféctueux.

J'ai fait un test au 2ème niveau avec 4 * dans la colonne ay (réparties sur les deux plages).

Le résultat attendu à la formule =(NB.SI(AY12:AY52;"*")+NB.SI(AY63:AY103;"*"))&"*/"&(NBVAL(AY12:AY52)+NBVAL(AY63:AY103))

est : 4*/82

Mais le résultat qui apparaît est : 4*/4

Comment corriger la formule pour qu'elle me calcule le nombre total de cases des plages selectionnées (qu'elle contiennet * ou pas) ?

Bonjour,

Précision qui a son importance, * est un joker :

=NB.SI(AY:AY;"*") compte toutes les cellules non vides

Pour compter uniquement celles qui n'ont que le caractère "*" c'est : =NB.SI(AY:AY;"~*")

avec un tildé devant

eriiic a écrit :

Précision qui a son importance, * est un joker :

=NB.SI(AY:AY;"*") compte toutes les cellules non vides

Pour compter uniquement celles qui n'ont que le caractère "*" c'est : =NB.SI(AY:AY;"~*")

avec un tildé devant

Re Eriiic ! Pourtant ce n'est pas le cas quand je fais un test, cf mon fichier joint.

15classeur1.xlsx (9.14 Ko)

Laurabarn,

Merci de nous fournir un fichier de ton tableau svp.

Je vais le rajouter dans ma formule mais de toutes manières, dans cette colonne il n'y a que le caractère * ou bien le vide.

Je vous joins le fichier anonyme.

Ce sont les cases rouges qui attendent la formule sur laquelle on bosse (dans les totaux en bas).

D'ailleurs, vous savez comment copier la formule d'une cellule à l'identique (sans qu'elle décale les colonnes ou les cases)?

6classeur1.xlsx (273.80 Ko)

Pour fixer les formules il faut utiliser les $.

Voilà comment ça marche :

Les dollars servent à fixer la ligne ou la colonne : Si dans la cellule A1 j'écris "=D15+D16", et que j'étire la cellule vers le bas (en A2, A3, A4, etc...), la formule va aussi se décaler :

=D16+D17

=D17+D18

=D18+D19

etc...

Si je mets des dollars ($), alors je fixe une partie de la formule :

$ devant la colonne fixe la colonne, c'est à dire que si j'étire vers la droite, ma colonne bloquée restera la même colonne :

=$D16+E17

=$D16+F17

=$D16+G17

etc...

Si je mets $ devant la ligne et que j'étire la formule vers le bas, alors la ligne restera la même :

=D$16+D17

=D$16+D18

=D$16+D19

etc...

Et si je mets un $ devant la colonne ET un $ devant la ligne, alors la cellule entière restera fixe, même si j'étire la colonne n'importe où :

=$D$16+D17

=$D$16+D18

=$D$16+D19

etc...

ça évite de devoir corriger chaque formule après avoir étiré ta cellule


Ok je comprends mieux avec ton fichier :

c'est normal que ça te mette 4 / 4 :

NBVAL comptabilise les cellules où il y a des données.

Dans tes colonnes , il n'y a que 4 étoiles et aucune autre donnée.

Il y a donc bien 4 étoiles / 4 données renseignées.

Tu trouveras sur ton fichier une formule qui te donne bien 4*/82,

=(NB.SI(AY12:AY52;"*")+NB.SI(AY63:AY103;"*"))&"*/"&(NB.SI(AY12:AY52;"<>*")+NB.SI(AY63:AY103;"<>*")+NB.SI(AY12:AY52;"*")+NB.SI(AY63:AY103;"*"))

la première partie (NB.SI(AY12:AY52;"*")+NB.SI(AY63:AY103;"*"))comptabilise les *,

la seconde partie (NB.SI(AY12:AY52;"<>*")+NB.SI(AY63:AY103;"<>*")+NB.SI(AY12:AY52;"*")+NB.SI(AY63:AY103;"*") comptabilise les cellules qui sont égales à * + les cellules qui sont différentes de *, du coup elle compte aussi les cellules vides

Super!!!

A merci infiniment

Je sais pas comment j'aurai fait sans vous!

Donc pour être sûre d'avoir bien compris, pour figer totalement ma formule, je dois faire

=(NB.SI($AY$12:$AY$52;"*")+NB.SI($AY$63:$AY$103;"*"))&"*/"&(NB.SI($AY$12:$AY$52;"<>*")+NB.SI($AY$63:$AY$103;"<>*")+NB.SI($AY$12:$AY$52;"*")+NB.SI($AY$63:$AY$103;"*"))

C'est bien ça?

Tant que j'y suis, vu que vous êtes brillants tous les deux, est-ce que vous pouvez m'indiquer comment copier le résultat qui apparaît dans une cellule mais pas la formule?

Et est-il possible de l'exporter vers une autre feuille?

Et si oui, est-ce que l'export peut être automatisé (par exemple en présence d'un caractère spécial dans une case donnée, genre je rajoute une colonne dédiée à l'écriture de ce caractère)?

Merci d'avance, vous me résolvez tous mes problèmes d'un coup, merci 1000 fois

laurabarn a écrit :

C'est bien ça?

Oui c'est exactement ça.

laurabarn a écrit :

Tant que j'y suis, vu que vous êtes brillants tous les deux, est-ce que vous pouvez m'indiquer comment copier le résultat qui apparaît dans une cellule mais pas la formule?

Et est-il possible de l'exporter vers une autre feuille?

Et si oui, est-ce que l'export peut être automatisé (par exemple en présence d'un caractère spécial dans une case donnée, genre je rajoute une colonne dédiée à l'écriture de ce caractère)?

Manuellement il suffit de copier la cellule et de faire "collage"->"valeurs" pour coller le résultat et non la formule.

Pour ce qui est d'exporter vers une autre feuille, explique nous exactement ce que tu veux : quelle feuille, est-ce qu'elle est dans le même classeur, à quoi elle ressemble, quel caractère spécial dans quelle cellule, bref dis nous exactement et très concrètement quelles manips tu veux effectuer (exemple : je veux que le résultat de ma cellule A1 de l'onglet 1 apparaisse dans la cellule B6 de l'onglet 2 si la cellule B1 de l'onglet 1 contient le mot "export", avec fichier joint à l'appui.

Précision pratique au passage pour les $ :

Il suffit d'appuyer sur la touche F4 pour mettre les $ sur une cellule quand tu tapes ta formule.

Re Eriiic ! Pourtant ce n'est pas le cas quand je fais un test, cf mon fichier joint.

Oui, effectivement.

Mais si tu rajoutes "têtu" dans ta colonne ?

eriiic a écrit :

Oui, effectivement.

Mais si tu rajoutes "têtu" dans ta colonne ?

Ah okaaaaayyyy ! ça compte tout ce qui est texte ! Merci pour cette brillante démonstration

Bonjour

Désolée j'ai eu un problème de connexion hier..

Je vous joins le tableau avec le détail des cellules à exporter.

En fait pour être précise, je ne veux pas que l'intégralité du contenu de mes colonnes soit exporté.

Je veux juste que si je fais paraître un signe particulier, comme une croix par exemple, dans une colonne (signe que la ligne comporte une anomalie) l'export des cellules désignées dans le tableau soit automatique.

ça vous semble faisable?


Oups, le tableau...

Salut Laurabarn, oui c'est possible, par macro. Dès que j'ai un peu de temps je regarde ça.

Un essai en pièce jointe.

Si au bout de la ligne il y a un "A", la ligne est rappatriée sur l'onglet GAZ

(clique sur le bouton "rappatrier")

Bonjour gazOline,

C'est super ton travail mais par contre c'est dans l'autre sens que ça doit se faire (de l'onglet gaz vers l'onglet anomalie).

Pourrais-tu m'expliquer comment faire pour que je puisse le faire en bonne et du forme, dans l'intégralité de mes tableaux?

Genre me donner la formule en m'expliquant quelle partie doit être adaptée et à quel endroit elle doit être saisie?

Enfin si ça te semble trop compliqué, je t'envoie dès demain mes tableaux réels pour que tu puisses le faire (enfin si tu veux bien?)?

Merci beaucoup pour ton aide

Salut Laurabarn,

Ce n'est pas des formules, c'est de la programmation informatique, en langage VBA.

Le faire pour toi, tout dépend combien tu as de tableaux, tout ça prend du temps.

Enfin, je ne suis pas sûre d'avoir le temps d'y jeter un coup d'oeil cette semaine, j'ai une grosse semaine de travail et ensuite je pars 3 semaines en congés.

Bonjour,

Oui j'imagine bien.

Je pense que ça va faire un certain boulot, parce que 5 tableaux à rapatrier dans 2.

J'ai mon assistante qui connaissait un peu tout ça donc je vais lui montrer la programmation que tu as programmé et je vais voir si elle se sent de le faire. Sinon je prendrai quelqu'un pour le faire.

Je te remercie infiniment pour toute ton aide en tous ca et si on se reparle pas d'ici là je te souhaite de bonnes vacances

A bientôt

Rechercher des sujets similaires à "question totalisations caracteres"