Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comptage par cellule.

9 réponses
Avatar
STEPHANE
Bonjour,

Je voudrais compter les 0 apparaissant dans des cellules (non contigües
toujours les mêmes) d'une même ligne.

Exemple :

Ligne A12:BH12. combien de 0 au total dans les cellules A12;G12;M12...

Merci de votre aide.

Stéphane.

9 réponses

Avatar
Christian.L
Bonjour

Voir du coté de la fonction NBsi()

Bon courage

C.L.

"STEPHANE" a écrit dans le message de news:
431ef40e$0$163$
Bonjour,

Je voudrais compter les 0 apparaissant dans des cellules (non contigües
toujours les mêmes) d'une même ligne.

Exemple :

Ligne A12:BH12. combien de 0 au total dans les cellules A12;G12;M12...

Merci de votre aide.

Stéphane.




Avatar
AV
Voir du coté de la fonction NBsi()


T'es sur ?

AV

Avatar
STEPHANE
Bonjour,

NB.SI ne fonctionne pas...ou je ne sais pas la faire fonctionner.
Pour une plage de données continue pas de problème, mais pour des cellules
prise isolement je n'y suis pas arrivé.

Merci de votre aide.

Stéphane.
"Christian.L" a écrit dans le message de
news:
Bonjour

Voir du coté de la fonction NBsi()

Bon courage

C.L.

"STEPHANE" a écrit dans le message de
news: 431ef40e$0$163$
Bonjour,

Je voudrais compter les 0 apparaissant dans des cellules (non contigües
toujours les mêmes) d'une même ligne.

Exemple :

Ligne A12:BH12. combien de 0 au total dans les cellules A12;G12;M12...

Merci de votre aide.

Stéphane.







Avatar
AV
Je voudrais compter les 0 apparaissant dans des cellules (non contigües
toujours les mêmes) d'une même ligne.
Ligne A12:BH12. combien de 0 au total dans les cellules A12;G12;M12...


Quelques pistes :
** Si la plage discontinue ne comprends pas trop de cellules, tu peux faire une
formule du style :

=NBCAR(A12)-NBCAR(SUBSTITUE(A12;"0";""))+NBCAR(G12)-NBCAR(SUBSTITUE(G12;"0";""))
+.etc

** Si les cellules intermédiaires (celles dans lesquelles on ne dénombre pas)
contiennent des valeurs non numériques (et donc pas de zéros possibles), on peut
sans dommége les inclures dans une formule (matricielle) qui serait alors :
=SOMME(NBCAR(A12:BH12)-NBCAR(SUBSTITUE(A12:BH12;"0";"")))

** Si aucune de ces conditions n'est remplie, il faudra passer par une fonction
perso (vba) :
Function zz(plage As Range, Chiffre$)
Dim C As Range
For Each C In plage
For i = 1 To Len(C)
If Mid(C, i, 1) = Chiffre Then zz = zz + 1
Next
Next
End Function

AV

Avatar
STEPHANE
Bonjour AV,

Tout d'abord merci de ta réponse,car pour solutionner ce problème il me faut
un peu plus que du courage...;o)

=NBCAR(A12)-NBCAR(SUBSTITUE(A12;"0";""))+NBCAR(G12)-NBCAR(SUBSTITUE(G12;"0";""))
+.etc


Cette formule marche mais...cependant...
J'ai 10 cellules à lire toujours les mêmes mais les résultats sont
volatiles, ce sont des valeurs numériques positives ou négatives qui peuvent
être 0,xxx.
Il ne peut y avoir donc que 10 X 0 au maximum or j'ai régulièrement 11 voir
12 ou 13. Pas d'erreur dans la formule, que compte exactement la formule je
n'ai pas réussi à le déterminer. Une idée ?
Pour contourner le problème j'ai voulu compter les cellules <>0, mais quand
je l'intègre à ta formule ca ne marche pas...
=NBCAR(A12)-NBCAR(SUBSTITUE(A12;<>0;""))+......Quelle est mon erreur ?

Les valeurs non numériques ne me concerne pas pour cette exemple mais je
ferais des essais car c'est intéressant.

Pour la fonction

Function zz(plage As Range, Chiffre$)
Dim C As Range
For Each C In plage
For i = 1 To Len(C)
If Mid(C, i, 1) = Chiffre Then zz = zz + 1
Next
Next
End Function


Je l'intègre dans un module VBA mais elle n'apparait pas dans la "boite"
macro quand je souhaite la lancer.
Je ne connais rien en VBA, mais dans les modules elles sont nommée
habituellement sub ()...je la nomme sub zz elle aparait mais quand je la
lance plantage sur la ligne ..Function zz(plage As Range, Chiffre$) en
attendant que j'ai le courage d'apprendre le VBA pourrais-tu m'éclairer ?

Merci

Cordialement

Stéphane.
.


"AV" a écrit dans le message de news:
%
Je voudrais compter les 0 apparaissant dans des cellules (non contigües
toujours les mêmes) d'une même ligne.
Ligne A12:BH12. combien de 0 au total dans les cellules A12;G12;M12...


Quelques pistes :
** Si la plage discontinue ne comprends pas trop de cellules, tu peux
faire une
formule du style :

=NBCAR(A12)-NBCAR(SUBSTITUE(A12;"0";""))+NBCAR(G12)-NBCAR(SUBSTITUE(G12;"0";""))
+.etc

** Si les cellules intermédiaires (celles dans lesquelles on ne dénombre
pas)
contiennent des valeurs non numériques (et donc pas de zéros possibles),
on peut
sans dommége les inclures dans une formule (matricielle) qui serait alors
:
=SOMME(NBCAR(A12:BH12)-NBCAR(SUBSTITUE(A12:BH12;"0";"")))

** Si aucune de ces conditions n'est remplie, il faudra passer par une
fonction
perso (vba) :
Function zz(plage As Range, Chiffre$)
Dim C As Range
For Each C In plage
For i = 1 To Len(C)
If Mid(C, i, 1) = Chiffre Then zz = zz + 1
Next
Next
End Function

AV









Avatar
AV
.... Pas d'erreur dans la formule, que compte exactement la formule je
n'ai pas réussi à le déterminer. Une idée ?


Elle compte TOUS les zéros de la plage !
Si, au travers d'un exemple, tu disais ce que la plage est susceptible de
contenir et ce qu'il faut obtenir comme résultat, ça faciliterait
considérablement les possibles réponses

AV

Avatar
STEPHANE
Bonsoir,

J'ai bien compris que la formule comptait les 0, je faisais juste remarquer
que dans 10 cellule sélectionnées elle me comptait parfois, 11, 12,13, 0 !
d'ou ma remarque.

Mon exemple précis est le suivant :
J'ai un tableau A5:BH104
Je souhaite compter pour toute les lignes de BL5:BL104 les cellules qui
sont <>0 parmi les cellules suivantes
A5,G5,M5,S5,Y5,AE5,AK5,AQ5,AW5,BC5....idem pour les autres lignes jusqu'à
104.
Toutes ces cellules sont volatiles, elles ne comportent que des valeurs
numériques positive ou négatives ou 0.

Soit je compte directement ce qui est <>0.
Soit je compte les 0 - 10 (nombre de cellules) = le nombre de cellules <>0.

Dans ta formule :
=NBCAR(A5)-NBCAR(SUBSTITUE(A5;"0";""))+NBCAR(G5)-NBCAR(SUBSTITUE(G5;"0";""))+NBCAR(G5)-NBCAR(SUBSTITUE(M5;"0";""))+NBCAR(S5)-NBCAR(SUBSTITUE(S5;"0";""))+NBCAR(Y5)-NBCAR(SUBSTITUE(Y5;"0";""))+NBCAR(AE5)-NBCAR(SUBSTITUE(AE5;"0";""))+NBCAR(AK5)-NBCAR(SUBSTITUE(AK5;"0";""))+NBCAR(AQ5)-NBCAR(SUBSTITUE(AQ5;"0";""))+NBCAR(AW5)-NBCAR(SUBSTITUE(AW5;"0";""))+NBCAR(BC5)-NBCAR(SUBSTITUE(BC5;"0";""))

Je compte bien les 0, mais parfois elle me compte + de 0 qu'il n'y a de 0 ?
J'ai essayé de comprendre ce qu'elle pouvait compter en plus mais je n'ai
reussi à le déterminer.

J'espère avoir été clair.

Merci de ton aide.

Stéphane.

"AV" a écrit dans le message de news:
u$
.... Pas d'erreur dans la formule, que compte exactement la formule je
n'ai pas réussi à le déterminer. Une idée ?


Elle compte TOUS les zéros de la plage !
Si, au travers d'un exemple, tu disais ce que la plage est susceptible de
contenir et ce qu'il faut obtenir comme résultat, ça faciliterait
considérablement les possibles réponses

AV





Avatar
AV
J'ai bien compris que la formule comptait les 0, je faisais juste remarquer
que dans 10 cellule sélectionnées elle me comptait parfois, 11, 12,13, 0 !
d'ou ma remarque.


Je ne peux que répéter ma réponse : elle compte TOUS les zéros de la plage
examinée !
Exemple si A1 contient 1000 ou 0.005
le résultat de =NBCAR(A1)-NBCAR(SUBSTITUE(A1;"0";""))
sera 3 car la cellule contient 3 fois le chiffre zéro !

Je souhaite compter pour toute les lignes de BL5:BL104 les cellules qui
sont <>0 parmi les cellules suivantes
** Ca je comprends !


A5,G5,M5,S5,Y5,AE5,AK5,AQ5,AW5,BC5....idem pour les autres lignes jusqu'à
104.
** Là il y a un problème de non-cohérence avec ce qui précède.....


Bon... si je lis bien (dans la formule à rallonge) la référence des plages à
examiner, il me semble que l'intervalle est constant (6)
Ce qui permettrait d'utiliser la formule suivante pour décompter (comme demandé)
le nombre de cellules <>0 et <>"" (qui est assimilé à 0)

=SOMMEPROD((MOD(COLONNE(A5:BC5);6)=1)*(A5:BC5<>0))

AV

Avatar
STEPHANE
Bonjour AV,

Malgré mes explications approximatives, car ne sachant pas faire directement
ce que je cherchais, j'avais imaginé trouver ce que je ne cherchais pas pour
revenir par déduction à ce que je cherchais....une voie de confusion c'est
donc ouverte mais tu m'as donné la bonne formule:
=SOMMEPROD((MOD(COLONNE(A5:BC5);6)=1)*(A5:BC5<>0))

Ton mérite et double, il inclue la patience à la bonne réponse.

Merci Alain

Stéphane.

"AV" a écrit dans le message de news:

J'ai bien compris que la formule comptait les 0, je faisais juste
remarquer
que dans 10 cellule sélectionnées elle me comptait parfois, 11, 12,13, 0
!
d'ou ma remarque.


Je ne peux que répéter ma réponse : elle compte TOUS les zéros de la plage
examinée !
Exemple si A1 contient 1000 ou 0.005
le résultat de =NBCAR(A1)-NBCAR(SUBSTITUE(A1;"0";""))
sera 3 car la cellule contient 3 fois le chiffre zéro !

Je souhaite compter pour toute les lignes de BL5:BL104 les cellules qui
sont <>0 parmi les cellules suivantes
** Ca je comprends !


A5,G5,M5,S5,Y5,AE5,AK5,AQ5,AW5,BC5....idem pour les autres lignes jusqu'à
104.
** Là il y a un problème de non-cohérence avec ce qui précède.....


Bon... si je lis bien (dans la formule à rallonge) la référence des plages
à
examiner, il me semble que l'intervalle est constant (6)
Ce qui permettrait d'utiliser la formule suivante pour décompter (comme
demandé)
le nombre de cellules <>0 et <>"" (qui est assimilé à 0)

=SOMMEPROD((MOD(COLONNE(A5:BC5);6)=1)*(A5:BC5<>0))

AV