Microsoft 365 Définir une plages nommée dynamique avec des formules

Anne13

XLDnaute Nouveau
Bonjour,
je chercher à définir ( et nommer ) une plage parmis une liste de données.
Je souhaiterai que la plage commence à partir de la première cellule dont le contenu est <1.5 et se termine à la première cellule >5.5.
J'arrive avec des formules à trouver l'adresse en texte de ces 2 cellules mais je n'arrive pas à convertir en plage...
Je sais le faire en VBA mais on me demande de rester en excel....
Je n'utilise que très peu les plages dynamiques, donc si celà est possible ce sera une bonne occasion d'apprendre à faire autrement.
Pour plus de compréhension je vous mets mon fichier.
La plage souhaitée, sur le premier onglet, première colonne est donc de la ligne 32 à 113 inclus
Merci de vos conseils !
 

Pièces jointes

  • Automatisation_calculs.xlsm
    65.2 KB · Affichages: 6
Solution
J'oubliais un second step possible.
Créer un nom "Plage" qui fait référence à
VB:
=INDIRECT("'Data spectrophotomètre'!"&Retraitement!$H$24&":"&Retraitement!$H$25)
La formule devient alors très simple en D31 :
Code:
=NB.SI.ENS(Plage;">="&B31;Plage;"<"&B32)

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Anne,
On peut peut être utilisé INDIRECT, qui "reconstitue" une plage.
En PJ un exemple où je compte dans la plage considérée des valeurs entre bornes avec :
VB:
=NB.SI.ENS(INDIRECT("'Data spectrophotomètre'!"&$H$24&":"&$H$25);">="&B31;INDIRECT("'Data spectrophotomètre'!"&$H$24&":"&$H$25);"<"&B32)
Evidemment, cela ne simplifie pas l'écriture. :)
'Data spectrophotomètre'!A32:A113 devient
INDIRECT("'Data spectrophotomètre'!"&$H$24&":"&$H$25)
 

Pièces jointes

  • Automatisation_calculs.xlsm
    57 KB · Affichages: 4

sylvanu

XLDnaute Barbatruc
Supporter XLD
J'oubliais un second step possible.
Créer un nom "Plage" qui fait référence à
VB:
=INDIRECT("'Data spectrophotomètre'!"&Retraitement!$H$24&":"&Retraitement!$H$25)
La formule devient alors très simple en D31 :
Code:
=NB.SI.ENS(Plage;">="&B31;Plage;"<"&B32)
 

Pièces jointes

  • Automatisation_calculs2.xlsm
    58.4 KB · Affichages: 12

Anne13

XLDnaute Nouveau
J'oubliais un second step possible.
Créer un nom "Plage" qui fait référence à
VB:
=INDIRECT("'Data spectrophotomètre'!"&Retraitement!$H$24&":"&Retraitement!$H$25)
La formule devient alors très simple en D31 :
Code:
=NB.SI.ENS(Plage;">="&B31;Plage;"<"&B32)
Bonjour Sylvanu,
merci c'est exactement ce que je cherchais, il me manquait l'utilisation de indirect dans le nom de la plage pour que cela fonctionne !
Un grand merci pour toutes les fois où vous m'aidez !!
Bonne journée
 

Discussions similaires