Plage dynamique dans formule

Bonjour,

Je tente dans mon fichier d'attribuer des rôles a des cavaliers pour un spectacle, je me suis lancé dans les listes pour pouvoir attribuer des rôles.

En onglet "Role" j'ai commencé par pouvoir désigner qui est présent ou pas en mettant des cases à cocher pour générer une liste de personnes pour commencer à attribuer les rôles.

Dans l'onglet "Ne pas toucher" je récupère l'info des présents ou non pour me générer une liste en colonne B avec =SI(A2=VRAI;Role!A2;"") jusque la tout vas bien. Je crée une liste une liste en "Role!G6" une liste avec

=DECALER('Ne pas toucher'!$G$2;;;SOMMEPROD(--('Ne pas toucher'!$G$2:$G$41<>""))) pareil toujours bien.

Dans l'onglet "Ne pas toucher" en colonne G, est mis en place une liste des personnes qui ne seront pas attribué en "Role!G6" pour être réutilisés pour les listes suivantes et ne pas pouvoir réattribuer un rôle à une personne trop tôt.

J'ai trouvé pour cette colonne 'Ne pas toucher'!G:G une belle formule qui fonctionne, sauf si j'indique que une ou plusieurs personnes ne sont pas présentes. Dans ce cas la/les cellule la/les plus en bas dans la colonne G passe en "#NOMBRE" et me bloque ma liste.

=SI(LIGNES(Role!$1:1)<=NBVAL(Presents_Cavaliers)-NBVAL(Spectre_Cavalier);

INDEX(Presents_Cavaliers;PETITE.VALEUR(SI((NB.SI(Spectre_Cavalier;Presents_Cavaliers)=0);LIGNE(INDIRECT("1:"&LIGNES(Presents_Cavaliers))));LIGNES(Role!$1:1)));"")

J'ai tenté de générer des plages dynamiques sans succès.

  • Presents_cavalier =DECALER('Ne pas toucher'!$B$2;;;NBVAL('Ne pas toucher'!$B$2:'Ne pas toucher'!$B$40)-1;1)
  • Spectre =DECALER('Ne pas toucher'!$G$2;;;NBVAL('Ne pas toucher'!$G2:$G40)-1;1)

J’espère avoir été claire et que je me suis pas lancé dans un truc trop foireux.

Merci pour votre aide.

8classeur5.xlsx (40.84 Ko)

Bonjour,

Je pense avoir compris le problème mais pour être sur j'aimerais savoir ce qu'est censé sortir de la formule à la place du #NOMBRE ?

Cordialement

Bonjour et merci pour ton aide.

En fait il est censé sortir une cellule vide en lieu et place de #NOMBRE, j'ai tenté de mettre un "." dans la formule =SI(A38=VRAI;Role!A38;"") -> =SI(A38=VRAI;Role!A38;".") et ca fonctionne comme si il y avait un nom.

Je pense que ça doit être un soucis de nombre de cellule pour la comparaison de la formule ci-dessous si il y en a une de vide.

=SI(LIGNES(Role!$1:9)<=NBVAL(Presents_Cavaliers)-NBVAL(Spectre_Cavalier);

INDEX(Presents_Cavaliers;PETITE.VALEUR(SI((NB.SI(Spectre_Cavalier;Presents_Cavaliers)=0);LIGNE(INDIRECT("1:"&LIGNES(Presents_Cavaliers))));LIGNES(Role!$1:9)));"")

J'ai pu trouver une réponse

En modifiant la liste par

=DECALER('Ne pas toucher'!$G$2;;;NB.SI('Ne pas toucher'!$G$2:$G$40;"<>#NOMBRE!"))

Merci

Rechercher des sujets similaires à "plage dynamique formule"