Microsoft 365 [VBA] Listes dynamiques selon cases à (dé)cocher

  • Initiateur de la discussion Initiateur de la discussion ralph45
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ralph45

XLDnaute Impliqué
Bonjour ami.e.s Xlien.ne.s !

J'ai une petite demande à formuler...

Faisant partie d'une troupe de théâtre associative et les répétitions d'une pièce se faisant au bon vouloir de la gestion des présences et des absences, je voudrai créer un petit outil (voir en PJ) me permettant de connaitre :
- à partir d'une base de données très simple (plage nommée "BDD_ROLES" : cellules A1 à C127)
- et selon le choix des scènes à répéter (colonne E) avec le.s case.s cochée.s (colonne F)

> Obtenir 2 listes dynamiques :

- Colonne H ("Répétitions") : la liste des personnages qui sont sur les feux de la rampe ;
- Colonne J ("Off") : la liste des personnages qui sont sur la touche (et qui peuvent œuvrer à d'autres actions).

En espérant avoir été clair, je vous ai proposé dans le fichier joint les résultats attendus (exemple)

Merci de vos lumières
 

Pièces jointes

Solution
@danielco

Excellent ! la formule fonctionne parfaitement !
Je l'ai juste "encapsulée" par un contrôle si aucune scène n'est cochée :

VB:
=SI(ESTERREUR(
FILTRE(UNIQUE(A2:A127);ESTNA(EQUIVX(UNIQUE(A2:A127);UNIQUE(FILTRE(A2:A127;ESTNUM(EQUIVX(B2:B127;H2#))))))));
"Aucune !";
FILTRE(UNIQUE(A2:A127);ESTNA(EQUIVX(UNIQUE(A2:A127);UNIQUE(FILTRE(A2:A127;ESTNUM(EQUIVX(B2:B127;H2#))))))))

Encore un grand merci !
@danielco

Excellent ! la formule fonctionne parfaitement !
Je l'ai juste "encapsulée" par un contrôle si aucune scène n'est cochée :

VB:
=SI(ESTERREUR(
FILTRE(UNIQUE(A2:A127);ESTNA(EQUIVX(UNIQUE(A2:A127);UNIQUE(FILTRE(A2:A127;ESTNUM(EQUIVX(B2:B127;H2#))))))));
"Aucune !";
FILTRE(UNIQUE(A2:A127);ESTNA(EQUIVX(UNIQUE(A2:A127);UNIQUE(FILTRE(A2:A127;ESTNUM(EQUIVX(B2:B127;H2#))))))))

Encore un grand merci !
 
Je l'ai juste "encapsulée" par un contrôle si aucune scène n'est cochée :

VB:
=SI(ESTERREUR(
FILTRE(UNIQUE(A2:A127);ESTNA(EQUIVX(UNIQUE(A2:A127);UNIQUE(FILTRE(A2:A127;ESTNUM(EQUIVX(B2:B127;H2#))))))));
"Aucune !";
FILTRE(UNIQUE(A2:A127);ESTNA(EQUIVX(UNIQUE(A2:A127);UNIQUE(FILTRE(A2:A127;ESTNUM(EQUIVX(B2:B127;H2#))))))))
Tu peux utiliser la fonction siErreur pour éviter de répéter la formule :
1747498103646.png
 
Tu peux utiliser la fonction siErreur pour éviter de répéter la formule :
Regarde la pièce jointe 1217953

@danielco

Excellent ! la formule fonctionne parfaitement !
Je l'ai juste "encapsulée" par un contrôle si aucune scène n'est cochée :

VB:
=SI(ESTERREUR(
FILTRE(UNIQUE(A2:A127);ESTNA(EQUIVX(UNIQUE(A2:A127);UNIQUE(FILTRE(A2:A127;ESTNUM(EQUIVX(B2:B127;H2#))))))));
"Aucune !";
FILTRE(UNIQUE(A2:A127);ESTNA(EQUIVX(UNIQUE(A2:A127);UNIQUE(FILTRE(A2:A127;ESTNUM(EQUIVX(B2:B127;H2#))))))))

Encore un grand merci !
Peut-être aussi :
VB:
=FILTRE(UNIQUE(A2:A127);ESTNA(EQUIVX(UNIQUE(A2:A127);UNIQUE(FILTRE(A2:A127;ESTNUM(EQUIVX(B2:B127;H2#));""))));"aucune")
A tester.
Daniel
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour