Excel: plage déterminé par valeur de cellule.

Résolu
ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   -  
ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Alors ma demande va paraitre particulière mais je souhaiterais adapter une formule excel comme ceci :

passer de :

=NB.SI($AB$2:$BD$10;B15)

à :


=NB.SI(valeurdecellulev2:valeurdecelluleV3;B15)

en gros qu'en V2 j'ai l'adresse de début de plage et en V3 l'adresse de fin de plage.




je pense donc je suis !
A voir également:

4 réponses

pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Bonjour,
La fonction qui t'intéresse ici est : INDIRECT

Essaye comme ceci :
=NB.SI(INDIRECT(V2&":"&V3);B15)

Attention à la saisie dans les cellules V2 et V3... Bien saisir, par exemple :
en V2 : A1
en V3 : A152
1
ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   40
 
Cool Merci beaucoup pour cette formule par contre j'esaye à l'adapter :


En B565 : $AG
En B566 : $BD

j'ai essayé :
=NB.SI(INDIRECT($B$565)&"$364:" & INDIRECT($C$565)&"$373";E566)

mais ca lui plais pas beaucoup ... ;)
0
ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   40
 
j'ai aussi fait :

En B565 : AG
En B566 : BD

j'ai essayé :
=NB.SI("$" & INDIRECT($B$565)&"$364:$" & INDIRECT($C$565)&"$373";E566)
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Bonjour
en attendant Pijaku et sans lui piquer sa bonne proposition, restons y mais écrite correctement avec les parenthèses aux bons endroits:

Et que faite vous de B566 dans votre exemple??????

=NB.SI(INDIRECT($B$565&"364:"&$B$566&"373");E566)

les $ sont inutiles entre guillemets puisque Excel ne pourra pas incrémenter les textes, de même que les $ dans les textes de AG et BD qui resteront toujours AG et BD si vous tirez la formule.
Les seuls $ utiles sont ceux de B565 et B5666 dans la formule

Petit tuyau
pour vérifier un code INDIRECT composé, écrivez l'égalité dans une cellule et vérifier qu'elle renvoie bien l'adresse cherchée
par exemple ici:
=$B$565"&364:"&$B$566&"373"
doit vous renvoyer avec B565 =AG et B566=BD, en texte
=AG364:BD373

crdlmnt
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Pourquoi as tu écris 2 fois INDIRECT...
Dans ma formule, j'écris :
INDIRECT(PremièreCellule":"DeuxièmeCellule)
dans ton cas :
En B565 : $AG$364
En B566 : $BD$373
=NB.SI(INDIRECT(B565&":"&B566);E566)
0
ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   40
 
parce que dans mon cas : B565 ne peux contenir que la valeur colonne : AG et idem pour B566 qui ne peux contenir que BD...
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Ou alors, avec les numéros de lignes "en dur" dans ta formule :
En B565 : $AG
En B566 : $BD
=NB.SI(INDIRECT(B565&"$364:"&B566&"$373");E566)
0
ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   40
 
Yes ! Merci bcp pijaku ! :)
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Salut Vaucluse, ViriisXP,

La réponse complète est maintenant apportée. Cependant, sur le site Commentçamarche, les commentaires et réponses se croisent et donc il est difficile de retrouver quoique ce soit.
J'invite donc viriis à relire les propositions, notamment celle de vaucluse ICI et la mienne ICI
0
ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   40
 
Pour ma part j'ai pris la réponse de pijaku, je n'avais pas vu ta réponse Vaucluse .

J'ai une question par contre :
sachant que mon tableau de stats est sur la feuille "stats" et que mon tableau source est dans la feuille "prog." comment je peux faire pour récupérer les valeurs dans cette autre feuille ?

=NB.SI(INDIRECT($A$12&"$351:"&$B$12&"$363");C$13)

je sais pas trop comment placer le "prog.!"

A12 = dans "stats"
B12 = dans "stats"

Le résultats de INDIRECT($A$12&"$351:"&$B$12&"$363") est la plage dans "Prog."


C13 = dans "stats"
0
ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   40
 
@Vaucluse : je viens de lire ton sujet, j'ai besoin des $ du fait de ma copie des valeurs dans plusieurs cellules et j'ai des fois des colonnes qui change en donné source et des fois non et j'ai des fois des lignes qui changent en données source et d'autre fois non. Donc pour les $ je les ai là ou j'en ai besoin. ;)
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Extrait de la réponse de Vaucluse :
Petit tuyau
pour vérifier un code INDIRECT composé, écrivez l'égalité dans une cellule et vérifier qu'elle renvoie bien l'adresse cherchée
par exemple ici:
=$B$565"&364:"&$B$566&"373"
doit vous renvoyer avec B565 =AG et B566=BD, en texte
=AG364:BD373

Ici ta plage doit être :
=Prog.!AG364:BD373
Donc essaye :
="Prog.!"&$B$565"&364:"&$B$566&"373"
0
ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   40
 
Donc ca devrais donner :
=NB.SI(INDIRECT("Prog.!"&$B$565"&364:"&$B$566&"373");C13) ???
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Presque!!!!!
pas :
=NB.SI(INDIRECT("Prog.!"&$B$565"&364:"&$B$566&"373");C13)
mais :
=NB.SI(INDIRECT("Prog.!"&$B$565&"364:"&$B$566&"373");C13)
l'erreur en gras ci dessous :
=NB.SI(INDIRECT("Prog.!"&$B$565"&364:"&$B$566&"373");C13)
0
ViriisXP Messages postés 487 Date d'inscription   Statut Membre Dernière intervention   40
 
Yes ! Merci beaucoup ! :)
0