Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Liste déroulante avec choix grisé ou ignoré si selectionné x fois

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 !

Mwadepaname

XLDnaute Junior
Bonjour à tous,
Je viens de faire le grand saut et suis en plein apprentissage VBA 😀
Je commence à réaliser ma première macro et là j'ai un petit problème que je n'arrive pas à résoudre :
J'ai une liste déroulante avec des choix de créneaux.
Je souhaiterais que lorsque le créneau est complet, celui-ci soit grisé (non sélectionnable) ou n'apparaisse pas dans la liste déroulante.
Merci
 

Pièces jointes

Solution
Bonjour Mwadepaname,
Un essai en PJ, pas très simple je l'avoue. J'en profite pour supprimer des dates les dates passées.
Je rajoute deux colonnes :
1- Colonne G qui extrait les dates, supprime les jours passés et les créneaux non dispo avec :
VB:
=SI(OU(CNUM(STXT(GAUCHE(F2;CHERCHE(" - ";F2;1));CHERCHE(" ";GAUCHE(F2;CHERCHE(" - ";F2;1));1);100))<AUJOURDHUI();DROITE(F2;10)="disponible");"";F2)
2- La colonne E qui extrait que les indices utiles et supprime les blancs avec ;
Code:
{=SIERREUR(INDEX($G$2:$G$50;PETITE.VALEUR(SI($G$2:$G$50<>"";LIGNE(INDIRECT("1:"&LIGNES($G$2:$G$50))));LIGNES($1:1)));"")}
Formule matricielle, valider par MAJ+CTRL+Entrée.
Pas simple mais ça marche impeccable.

Attention, respecter la syntaxe dans les...
Bonjour Mwadepaname,
Un essai en PJ, pas très simple je l'avoue. J'en profite pour supprimer des dates les dates passées.
Je rajoute deux colonnes :
1- Colonne G qui extrait les dates, supprime les jours passés et les créneaux non dispo avec :
VB:
=SI(OU(CNUM(STXT(GAUCHE(F2;CHERCHE(" - ";F2;1));CHERCHE(" ";GAUCHE(F2;CHERCHE(" - ";F2;1));1);100))<AUJOURDHUI();DROITE(F2;10)="disponible");"";F2)
2- La colonne E qui extrait que les indices utiles et supprime les blancs avec ;
Code:
{=SIERREUR(INDEX($G$2:$G$50;PETITE.VALEUR(SI($G$2:$G$50<>"";LIGNE(INDIRECT("1:"&LIGNES($G$2:$G$50))));LIGNES($1:1)));"")}
Formule matricielle, valider par MAJ+CTRL+Entrée.
Pas simple mais ça marche impeccable.

Attention, respecter la syntaxe dans les date : Date "-" créneau. (certains créneaux n'avaient pas le "-")
 

Pièces jointes

Merci sylvanu
c'est exactement ce que je voulais 🙂 même mieux.
Très bonne idée le fait de supprimer les dates passées.
J'en ai profité pour limiter les créneaux à la semaine.
Les dates passées et celles qui ne font pas parties de la semaine sont supprimées.
Merci pour la syntaxe des dates.
Et surtout merci car il est clair que je n'aurais jamais réussi cela seul.
Bon week-end😎
 
- 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

Discussions similaires

Réponses
15
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…