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

XL 2016 Formule pour garnir tableau

eduraiss

XLDnaute Accro
Bonjour le forum

En partant d'une colonne A avec des noms et d'une colonne B avec des dates

Il faudrait que je garnisse un tableau
Ci-joint un fichier avec les explications

Merci a vous
 

Pièces jointes

  • Eric 1.xlsm
    32.7 KB · Affichages: 10
Solution
Bonjour à tous,

C'est exact, la formule contrôle si le joursem() est exacte sinon elle renvoie "0".
J'ai donc mis des guillemets à la place de "0".

Il y a aussi la solution de masquer les "0" par un format de nombre personnalisée, pas de changement de formule.
VB:
jjj/j/mmm/aaaa;;

A essayer

JHA

JHA

XLDnaute Barbatruc
Bonjour à tous,

Un essai avec index et petite.valeur en validation matricielle.
Il y a 2 plages nommées "Noms" et "Dates" pour gérer les plages dynamiques.

JHA
 

Pièces jointes

  • Eric 1.xlsm
    30.2 KB · Affichages: 7

JHA

XLDnaute Barbatruc
Bonjour à tous,

Tu peux voir que pour "LULU C", il y a un soucis car 2 fois les mêmes dates. formule matricielle corrigée.

Avec un TCD, cela est plus simple et on peut s'en apercevoir rapidement.

Au lieu des plages nommées, tu peux mettre:
pour les noms
$A$2:$A$100
pour les dates
$B$2:$B$100
voir fichier second tableau

Pour la matricielle je ne pense pas à moins de passer par le VBA.

JHA
 

Pièces jointes

  • Eric 1 rev1.xlsm
    37.9 KB · Affichages: 5

eduraiss

XLDnaute Accro
Super merci

Une chose qui pourrait m'aider
là j'ai fais un tableau avec jour 1 jour 2
mais si a la place de ça j'avais lundi, mardi
voir fichier
 

Pièces jointes

  • Eric 1 V2.xlsm
    32.7 KB · Affichages: 3

JHA

XLDnaute Barbatruc
Bonjour à tous,

La formule matricielle se complique un peu.
VB:
=SIERREUR(SI(JOURSEM(INDEX($B$2:$B$100;PETITE.VALEUR(SI(($A$2:$A$100=$L2)*($B$2:$B$100>MAX($M2:M2));LIGNE($B$2:$B$100)-1);1));2)<>CHOISIR(EQUIV(N$1;{"lundi";"mardi";"mercredi";"jeudi";"vendredi"};0);1;2;3;4;5);0;INDEX($B$2:$B$100;PETITE.VALEUR(SI(($A$2:$A$100=$L2)*($B$2:$B$100>MAX($M$2:M2));LIGNE($B$2:$B$100)-1);1)));"")

JHA
 

Pièces jointes

  • Eric 1 V2.xlsm
    31 KB · Affichages: 6

eduraiss

XLDnaute Accro
Desolé mais il y a un soucis
Ci-dessous Pomme a travailler 3 jours le mercredi jeudi vendredi
Le lundi et mardi affiche sam/0/janv/1900

pomme3sam/0/janv/1900sam/0/janv/1900mer/13/mai/2020jeu/14/mai/2020ven/15/mai/2020
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

C'est exact, la formule contrôle si le joursem() est exacte sinon elle renvoie "0".
J'ai donc mis des guillemets à la place de "0".

Il y a aussi la solution de masquer les "0" par un format de nombre personnalisée, pas de changement de formule.
VB:
jjj/j/mmm/aaaa;;

A essayer

JHA
 

Pièces jointes

  • Eric 3.xlsx
    268.1 KB · Affichages: 6

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…