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

Une syntaxe qui me prend la tête...

6 réponses
Avatar
Thierry
Bonjour le forum,

Je suis en train de me prendre la tête sur un truc qui me semble pourtant simple
:-((((

Dans une cellule nommée NumTrim, j'ai une formule qui renvoie un nom d'onglet,
soit Trimestre1, Trimestre2,...

Dans une cellule en ligne 15, je veux faire : nb.si(NumTrim & "!$b$" & ligne() &
":$cn$" & ligne();b$2) qui devrait me renvoyer le nombre de valeurs égales à B2
dans la ligne $b$15:$cn$15 de l'onglet Trimestre1 par exemple

Evidemment, ça me renvoie une erreur...sinon je ne serai pas là !

Si quelqu'un voulait bien soulager mes quelques pauvres neurones fatigués,
merci d'avance

Thierry

6 réponses

Avatar
FdeCourt
Salut,

Essayes avec Indirect :

=NB.SI(INDIRECT(NumTrim & "!$b$" & LIGNE() &":$cn$" & LIGNE());B$2)

Cordialement,

F.
Avatar
Géronte
Le 07/10/2008 10:14, FdeCourt a écrit :
Salut,

Essayes avec Indirect :

=NB.SI(INDIRECT(NumTrim & "!$b$" & LIGNE() &":$cn$" & LIGNE());B$2)

Cordialement,

F.



peut-être remplacer aussi NumTrim par Range(Numtrim)


--
Géronte
Avatar
Thierry
Bonjour,

Merci pour la syntaxe ! J'étais en train de me battre avec indirect...
Grâce à toi, pause café :-))))))))

FdeCourt a écrit :
Salut,

Essayes avec Indirect :

=NB.SI(INDIRECT(NumTrim & "!$b$" & LIGNE() &":$cn$" & LIGNE());B$2)

Cordialement,

F.


Avatar
Thierry
C'est encore moi.....
Cette syntaxe marche bien avec nb.si; j'ai essayé de la transposer avec
sommeprod (j'ai besoin de plus de critères) et là....
J'ai tenté plusieurs variantes autour de :
=SOMMEPROD(NumTrim & "!$b$" & LIGNE() &":$cn$" & LIGNE()=B$2)*1
=SOMMEPROD(indirect(NumTrim & "!$b$" & LIGNE() &":$cn$" & LIGNE())=B$2)*1

Je patauge un peu (c'est un euphémisme) dans mes formules...
Toute aide sera appréciée !!
Merci

Thierry

FdeCourt a écrit :
Salut,

Essayes avec Indirect :

=NB.SI(INDIRECT(NumTrim & "!$b$" & LIGNE() &":$cn$" & LIGNE());B$2)

Cordialement,

F.


Avatar
FdeCourt
Salut,

Le coup de ligne() sur un sommeprod ne semble pas marcher....
(bug ???)

Par contre, une synthaxe comme celle-ci que tu étends aux cellules
concernées :
=SOMMEPROD(N(INDIRECT(NumTrim&"!$B$"&2&":$CN$"&2)=B$2))
devrait fonctionner.

Il faut faire attention avec sommeprod, car il va te fournir une
matrice de VRAI ou FAUX, qui ne sont ni des 0 ni des 1, et donc sur
lesquels la somme est difficile, d'ou le rajout de la fonction N, qui
converti VRAI en 1 et FAUX en 0

Cordialement,

F.
Avatar
Thierry
Merci de ta réponse,

effectivement, ligne() ne fonctionne pas dans un sommeprod (déduction après de
multiples essais....), donc je passe par une cellule intermédiaire dans laquelle
je calcule l'adresse visée; c'est plus lourd et moins élégant, mais ça marche :-)))

Merci du coup de main !

FdeCourt a écrit :
Salut,

Le coup de ligne() sur un sommeprod ne semble pas marcher....
(bug ???)

Par contre, une synthaxe comme celle-ci que tu étends aux cellules
concernées :
=SOMMEPROD(N(INDIRECT(NumTrim&"!$B$"&2&":$CN$"&2)=B$2))
devrait fonctionner.

Il faut faire attention avec sommeprod, car il va te fournir une
matrice de VRAI ou FAUX, qui ne sont ni des 0 ni des 1, et donc sur
lesquels la somme est difficile, d'ou le rajout de la fonction N, qui
converti VRAI en 1 et FAUX en 0

Cordialement,

F.