Formule matricielle

Bonjour,

Les fonctions matricielles ne sont pas mon fort. J’ai donc une solution vba sur ce projet qui créait une liste de dates.

Les dates à exclure sont en N5 et lignes suivantes. Les week-ends sont aussi exclus.

Les dates de début et fin de période en N1 et N2

La macro se lance à l’aide du bouton « création des listes déroulantes »

Les dates issues du code vba sont en colonne k. Cette liste alimente des listes déroulantes en colonne f (cellules fond bleu)

Ma question, est-ce qu’il y aurait une solution sans vba avec une formule matricielle sur la colonne k ?

Merci

Cordialement

19liste-dates.xlsm (24.36 Ko)

Bonsoir,

Il y a peut-être plus simple ... si c'est le cas, je n'ai pas trouvé (et à cette heure-ci, je ne cherche plus )

Il faudra vérifier aussi différents cas de figure, pour s'assurer qu'il n'y ait pas de cas particuliers qui ne seraient pas traités.

Dans un premier temps, celle-ci donne le même résultat que les dates en colonne K:

=SIERREUR(PETITE.VALEUR(SI((JOURSEM($N$1+LIGNE(INDIRECT("1:"&$N$2-$N$1));2)<6)*(NB.SI($N$5:$N$20;$N$1+LIGNE(INDIRECT("1:"&$N$2-$N$1)))=0);$N$1+LIGNE(INDIRECT("1:"&$N$2-$N$1)));LIGNES($1:1));"")

Si quelqu'un passe par ici, qui ne connaît pas les formules matricielles: valider à l'aide de la combinaison Ctrl+Shift+Enter

Bonsoir,

Non matricielle !

=SI(NB.JOURS.OUVRES(DateDeb;DateFin;DateEviter)>=LIGNE();SERIE.JOUR.OUVRE(DateDeb;LIGNE()-1;DateEviter);"")

A tirer vers le bas...

Modifier aussi la définition de ListeValidation :

=DECALER(Diplome!$K$2;;;NB(Diplome!$K:$K))

Cordialement.

Bonjour Milité et MFerrand,

Merci pour vos deux contributions.

Milité, je n'ai pas réussi à adapter ta formule. J'ai la même date sur toutes les lignes.

MFerrand, comme d'habitude, je suis agréablement surpris de ta capacité à imbriquer les fonctions.

J'imagine qu'à l'heure où tu as répondu, il était très tôt chez toi. En tout cas merci de ton aide.

Cordialement

Bonjour,

ddetp88 a écrit :

Milité, je n'ai pas réussi à adapter ta formule. J'ai la même date sur toutes les lignes.

('Milité', sans le 'U' devant n'a pas tout à fait le même sens )

Si tu obtiens la même date, c'est peut-être que tu valides la formule sur une plage de cellules préalablement sélectionnée? Essaie en insérant la formule avec une seule cellule sélectionnée, en validant comme indiqué, puis en recopiant vers le bas.

Ceci dit, ce n'est qu'avec le retour de la lumière du jour que SERIE.JOUR.OUVRE m'est revenue confusément en mémoire ... et MFerrand m'a précédé largement

À moins que tu ne doives utiliser une version d'Excel antérieure à 2007, la formule matricielle n'a guère d'intérêt!

Bonjour Milité,

U. Milité a écrit :

À moins que tu ne doives utiliser une version d'Excel antérieure à 2007, la formule matricielle n'a guère d'intérêt!

Tu as parfaitement raison!

Au plaisir et encore merci.

Rechercher des sujets similaires à "formule matricielle"