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

Mwadepaname

XLDnaute Junior
Bonjour à tous,
Je viens de faire le grand saut et suis en plein apprentissage VBA :D
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

  • test 1ere macro.xlsm
    291.7 KB · Affichages: 14
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...

sylvanu

XLDnaute Barbatruc
Supporter XLD
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

  • test 1ere macro (2).xlsm
    299.9 KB · Affichages: 17

Mwadepaname

XLDnaute Junior
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:cool:
 

Discussions similaires

Statistiques des forums

Discussions
311 713
Messages
2 081 806
Membres
101 819
dernier inscrit
lukumubarth