Reporter le résultat d'un filtre sur une liste déroulante

hajorinette

XLDnaute Occasionnel
Bonjour le forum,

J'ai deux objectifs indépendants sur ce fichier:

Le 1er est de sauter le dimanche quand j'incremente une série de dates, à la limite je peux supprimer ou cacher la colonne du dimanche.
(donc je dirai que cet objectif est très secondaire par apport au 2ème)

Le 2ème objectif est de reporter le résultat d'un filtre auto que j'ai mis en feuille1 dans une zone de la feuille 2.

Le fichier est très explicite et je reste connectée s'il ya la moinde ambiguité

Merci d'avance
 

Pièces jointes

  • Classeur1.xls
    24 KB · Affichages: 130
  • Classeur1.xls
    24 KB · Affichages: 135
  • Classeur1.xls
    24 KB · Affichages: 143

hajorinette

XLDnaute Occasionnel
Re : Reporter le résultat d'un filtre sur une liste déroulante

Dsl pour le double post -_-

CF l'exemple ci-joint pour la feuille2, mais j'ai pas le courrage de faire la 3...

Par macro ca doit etre plus confortable à gérer, peut etre, mais la, j'ai pas d'idée.

++

Bonjour Lilou, le forum.
Impressionnant ce qu'on arrive à faire avec les formules, un grand merci pour ce fichier qui avant tout marche mais c'est vrai qu'il suffit que quelques utilisateurs pas très prudents se succèdent dessus pour qu'il soit inexploitable.
Pour le feuille 3 du fichier que tu as proposé, est il possible de rajouter les années à côté des semaines (juste jusqu'à 2011).

Merci pour toute
bonne journée
 

liloucmoi

XLDnaute Occasionnel
Re : Reporter le résultat d'un filtre sur une liste déroulante

Hello,

J'ai une version avec Année, semaine et Jour de debut d'afichage.
Ca affiche les 6 jours suivants.
Je suis allé jusqu'à 2011, mais sur le même principe, tu peux aller très loin ;)

Sinon, j'ai protéger la feuille sans mot de passe, pour te montrer qu'on peut veuiller à ce que personne ne détruise les formules.

Il ne te reste plus qu'à faire l'autre page.
Si tu as des questions sur cet exemple, n'hésites pas.

++
 

Pièces jointes

  • Hajorinette.zip
    19.7 KB · Affichages: 46
  • Hajorinette.zip
    19.7 KB · Affichages: 44
  • Hajorinette.zip
    19.7 KB · Affichages: 45

hajorinette

XLDnaute Occasionnel
Re : Reporter le résultat d'un filtre sur une liste déroulante

Hello,

J'ai une version avec Année, semaine et Jour de debut d'afichage.
Ca affiche les 6 jours suivants.
Je suis allé jusqu'à 2011, mais sur le même principe, tu peux aller très loin ;)

Sinon, j'ai protéger la feuille sans mot de passe, pour te montrer qu'on peut veuiller à ce que personne ne détruise les formules.

Il ne te reste plus qu'à faire l'autre page.
Si tu as des questions sur cet exemple, n'hésites pas.

++

Bonjour Lilou, le forum
Un grand merci Lilou pour ton aide précieuse!
J'ai toutefois des remarques/questions donc je commence:

-->Comment se débarasser visuellement des #N/A ?

-->Comment intégrer dans les listes déroulantes un choix vide?(si l'utilisateur veut choisir autre chose que ce qui proposé)

-->Chaque ligne de prod comprend 4 lignes excel, si par exp pour une ligne de prod les produits 6 et 7 sont proposés dans la première ligne, je choisi le produit 6 en première ligne, je souhaiterai copier les 3 cellules pour mettre le produit 7 en 2ème ligne, cette opération peut elle se faire tout en protégeant les formules?
--> un hic: si on rentre des demandes de produits par exemple pour le lundi 03/08 en feuille 1 voilà ce qui se passe:

Si on choisit sur la feuille 2 la semaine 31 commençant mardi çad 28/07-->03/08 ( le lundi 03/08 en dernier) alors ces demandes ne sont pas reportées sur la feuille2familles

Dans tous les autres cas ou le 03/08 apparait ( mais qu'il n'est pas le dernier jour) les demandes sont bien reportés sur la feuille2familles mais par contre pas de propositions en listes déroulantes sur la feuille2

Morale de l'histoire: pour un lundi les listes déroulantes n'aparaissent que si on choisit de commencer par ce jour.

J'espere encore une fosi que c'est clair

Très bonne journée à tout le monde
 

liloucmoi

XLDnaute Occasionnel
Re : Reporter le résultat d'un filtre sur une liste déroulante

Hello,

Donc voici des modifs.

Cependant, attention à la protection de la feuille. (Et aux formats de proctection de chaque cellule.)

Pour le copier/coller, il suffit de copier/coller le produit juste en dessous.

++
 

Pièces jointes

  • Hajorinette.zip
    23.7 KB · Affichages: 39
  • Hajorinette.zip
    23.7 KB · Affichages: 50
  • Hajorinette.zip
    23.7 KB · Affichages: 50

hajorinette

XLDnaute Occasionnel
Re : Reporter le résultat d'un filtre sur une liste déroulante

Encore merci pour Lilou qui nous régale encore avec de l'excellent boulot.
Puis-je savoir comment tu as procédé pour faire les modifications (juste les grandes lignes)
Sinon quelles sont les modifications que je devrais apporter pour décaler entre la demande et le planning de 2 jours
Par exemple si il ya une demande pour le produitx le 15 du mois il faudrait que je le retrouve le 13 aux choix proposés en liste déroulante.

++
 

liloucmoi

XLDnaute Occasionnel
Re : Reporter le résultat d'un filtre sur une liste déroulante

Re,

Donc pour commencer avec les modifs :

-->Comment se débarasser visuellement des #N/A ?
Par formule : SI(ESTNA(###);"";###)
Si le résultat est #NA, on le remplace par une chaine vide.

-->Comment intégrer dans les listes déroulantes un choix vide?(si l'utilisateur veut choisir autre chose que ce qui proposé)
Alors la c'est plus complexe.
Il faut intercaler une ligne vide dans chaque plage nommée.
Dans l'onglet Feuil2Familles, rajouter la ligne vide en début de liste. Puis il faut modifier la formule de la plage nommée pour quelle commence sur la cellule vide et rajouter une unité à sa hauteur.

-->Chaque ligne de prod comprend 4 lignes excel, si par exp pour une ligne de prod les produits 6 et 7 sont proposés dans la première ligne, je choisi le produit 6 en première ligne, je souhaiterai copier les 3 cellules pour mettre le produit 7 en 2ème ligne, cette opération peut elle se faire tout en protégeant les formules?
Alors la il s'agit seulement de recopier/tirer les cellules de formules de chaque côté de la colonne produit pour avoir les 4 lignes de remplies.
Ensuite, une fois la feuille protégée, la copie ne copie plus la liste mais bien la valeur qui est cherchée par les formules qui l'entoure afin de sortir la famille et le numéro.

--> un hic: si on rentre des demandes de produits par exemple pour le lundi 03/08 en feuille 1
Ici pour changer cela, j'ai fais correspondre les dates de la feuille Feuil2Familles avec celles de la feuil2. (J'avais oublié :eek:)
Je vais chercher trois colonnes plus loin, toutes les 5 colonnes à l'aide des formules ADRESSE et INDIRECT.
(J'ai cinq colonnes dans la feuil2Familles, et elles reprennent les dates qui changent toutes les trois colonnes dans la Feuil2.)

Passons à la question ;)

Pour la gestion de la demande, j'espère que tu as suivit comment j'ai procédé dans la solution précédente. C'est dans la Feuil2Familles que cela se passe, dans la plage correspondant à la base de données : G4:AJ18.
On regarde si la demande correspondant au produit à la date donnée est non nulle. Si elle est nulle, le résultat est 0. Si elle est non nulle, le résultat est un entier correspondant à "l'ordre" du produit pour la ligne donnée. (1 si c'est le premier produit trouvé, 2 le deuxième ...) Ce sont ces entiers qui sont cherchés pour créer la plage de liste déroulante plus bas dans la colonne.

Bon partant de ce principe, il suffirait de regarder la demande deux jours avant la date en feuil2Familles pour faire ce que tu souhaites.

Ex : En G4 :
Remplacer ceci :
Code:
=SI(INDEX(Feuil1!$G$4:$U$18;EQUIV($B4;Feuil1!$B$4:$B$18;0);EQUIV(G$2;Feuil1!$G$2:$U$2;0)+1)=0;0;SI($C4=G$19;MAX(G$3:G3)+1;0))
Par cela :
Code:
=SI(INDEX(Feuil1!$G$4:$U$18;EQUIV($B4;Feuil1!$B$4:$B$18;0);EQUIV(G$2[b]+2[/b];Feuil1!$G$2:$U$2;0)+1)=0;0;SI($C4=G$19;MAX(G$3:G3)+1;0))
Ce qui fera qu'on se retrouve avec la demande du 30 dans la colonne nommée 28.

++
 

hajorinette

XLDnaute Occasionnel
Re : Reporter le résultat d'un filtre sur une liste déroulante

Pour la gestion de la demande, j'espère que tu as suivit comment j'ai procédé dans la solution précédente. C'est dans la Feuil2Familles que cela se passe, dans la plage correspondant à la base de données : G4:AJ18.
On regarde si la demande correspondant au produit à la date donnée est non nulle.

-->qu'est ce qui dans la formule ci dessus fait référence à cette condition en particulier (demande non nulle)?

Si elle est nulle, le résultat est 0. Si elle est non nulle, le résultat est un entier correspondant à "l'ordre" du produit pour la ligne donnée. (1 si c'est le premier produit trouvé, 2 le deuxième ...) Ce sont ces entiers qui sont cherchés pour créer la plage de liste déroulante plus bas dans la colonne.

Bon partant de ce principe, il suffirait de regarder la demande deux jours avant la date en feuil2Familles pour faire ce que tu souhaites.

Ex : En G4 :
Remplacer ceci :
Code:
=SI(INDEX(Feuil1!$G$4:$U$18;[COLOR="red"]EQUIV($B4;Feuil1!$B$4:$B$18;0);EQUIV(G$2;Feuil1!$G$2:$U$2;0)+1)=0[/COLOR];0;SI($C4=G$19;MAX(G$3:G3)+1;0))

Par cela :
Code:
=SI(INDEX(Feuil1!$G$4:$U$18;EQUIV($B4;Feuil1!$B$4:$B$18;0);EQUIV(G$2[b]+2[/b];Feuil1!$G$2:$U$2;0)+1)=0;0;SI($C4=G$19;MAX(G$3:G3)+1;0))
Ce qui fera qu'on se retrouve avec la demande du 30 dans la colonne nommée 28.

++

je dosi revoir mes fonctions car je en vois pas comment cette formule fait référence à la 2ème colonne de chaque jour qui correspond à la demande

Merci!
 

hajorinette

XLDnaute Occasionnel
Re : Reporter le résultat d'un filtre sur une liste déroulante

Désolée pour ce multi-postage
Juste pour dire que j'ai compri que c'est le +1 du 2eme equi v qui nous permet d'avoir une condition sur la demande!

J'en profite pour poser une autre question :
Pour les cellules avec liste déroulante on a des valeurs qui saffichent automatiquement aux cellules à droite et à gauche.
Comment regrouper le tout (les 3 cellules ) en une seule cellule?

j'explique:
pour A valeur choisie de la liste déroulante
B valeur générée à droite
C générée à gauche
l'idéal serait d'avoir UNE liste déroulante qui propose par exemple BAC
Merci pour tout
 

liloucmoi

XLDnaute Occasionnel
Re : Reporter le résultat d'un filtre sur une liste déroulante

Re,

Dans la cellule : G21 de la feuille Feuil2Familles, remplace ceci :
Code:
=SI(ESTNA(INDEX($B$4:$B$18;EQUIV(LIGNE()-LIGNE($G$20);G$4:G$18;0)));"";INDEX($B$4:$B$18;EQUIV(LIGNE()-LIGNE($G$20);G$4:G$18;0)))
par cela :
Code:
=SI(ESTNA(INDEX($B$4:$B$18;EQUIV(LIGNE()-LIGNE($G$20);G$4:G$18;0)));"";INDEX($D$4:$D$18;EQUIV(LIGNE()-LIGNE($G$20);G$4:G$18;0))&[B]" / "[/B]&INDEX($B$4:$B$18;EQUIV(LIGNE()-LIGNE($G$20);G$4:G$18;0))&[B]" / "[/B]&INDEX($A$4:$A$18;EQUIV(LIGNE()-LIGNE($G$20);G$4:G$18;0)))

Tu auras donc ceci dans la liste : 605925086200 / Produit1 / Famille1
Pour changer la séparation entre B, A et C, modifie la partie " / ".

Ensuite pour les autres cellules de la plage G21:AJ26, tires la formule : verticalement et horizontalement, ou fais un collage spécial : formules, ca gardera la mise en forme (peu utilie je te l'accorde mais ne sait-on jamais ;) )


Xldment.
 

hajorinette

XLDnaute Occasionnel
Re : Reporter le résultat d'un filtre sur une liste déroulante

Merci Lilou ça marche parfaitement bien.
Mais comme tu t'en doute j'ai encore et toujours une question:
Sur ta formule qu'est ce qui fait la correspondance entre les lignes de prod en horizontal et celles en vertical.
Car j'aimerai sur la feuille de calcul qu'il fasse la correspondance non plus avec la 3éme colonne , mais avec la 5ème.
 

liloucmoi

XLDnaute Occasionnel
Re : Reporter le résultat d'un filtre sur une liste déroulante

Hello :D

Décidement tu l'aimes bien ce post ;)

Donc pour pouvoir adapter la feuille des lignes aux montages il faut :

remplacer la formule en G4 de :
Code:
=SI(INDEX(Feuil1!$G$4:$U$18;EQUIV($B4;Feuil1!$B$4:$B$18;0);EQUIV(G$2+2;Feuil1!$G$2:$U$2;0)+1)=0;0;SI([B]$C4[/B]=G$19;MAX(G$3:G3)+1;0))
à ca :
Code:
=SI(INDEX(Feuil1!$G$4:$U$18;EQUIV($B4;Feuil1!$B$4:$B$18;0);EQUIV(G$2+2;Feuil1!$G$2:$U$2;0)+1)=0;0;SI([B]$E4[/B]=G$19;MAX(G$3:G3)+1;0))

à tirer sur toute la plage concernée (G4:AJ18)

Il faut aussi prendre le soin de modifier la ligne 19 :
ligne 1 ... ligne 5 en montage6 ... montage10

Ensuite on repart pour un tour, faut créer les plages nommées etc.

(l'enregistreur de macro te fera un exemple pour adapter ma macro sur l'autre post : elle peut aussi servir à créer les listes déroulantes :p )

Xldment.
 

Statistiques des forums

Discussions
312 361
Messages
2 087 625
Membres
103 609
dernier inscrit
AmineAB33