Récapituler plusieurs lignes suivant une condition
Bonjour,
Dans le cadre de mon travail, nous utilisons un outil de planification excel que j'ai développé selon les besoins et le mode de fonctionnement de mon entreprise de menuiserie. Aujourd'hui nous décidons d'améliorer cet outil
(code: Toto).
Je m'explique:
L'outil initial est composé de 2 feuilles de calcul Excel où l'on renseigne sur la 1ère ligne par ligne:
- un N° d'OF (Ordre de Fabrication) + désignation de l'ouvrage en question
- une fourchette de date pour la pose
- un nombre d'heures prévue de pose
- une fourchette de date pour l'atelier
- un nombre d'heures prévue d'atelier
Sur la droite du tableau, il y a un "calendrier" qui récapitule visuellement où nous avons de la fab et de la pose. En bas de ce calendrier on retrouve le cumul d'heures total qui se confronte au cumul d'heures disponible (Ce cumul d'heures disponible est renseigné sur la 2ème feuille de calcul par la secrétaire). Ainsi on sait si l'on est en déficit d'heures ou non.
L'outil permet un contrôle global de la production et de la pose afin de mettre les effectifs nécessaires au bon moment. Ça sert aussi à balayer l'ensemble des fabrications (retards ou non) lors des réunions planning.
L'objectif aujourd'hui est de rajouter une feuille de calcul liée à la production pour le chef d'atelier. Il doit pouvoir renseigner en face de chaque OF la ou les personne(s) en charge de le réaliser.
Pour simplifier la lecture, je souhaitais donc faire un récapitulatif de tous les OF en cours pour la semaine pour qu'il y applique les effectifs. C'est ce que j'ai fait colonne B de la 3eme page. (J'y suis arrivé en utilisant une formule glanée sur le net je ne sait plus trop où) Mais de là, il y a plein d'erreurs si je me sert de cette formule pour d'autres colonnes ou si je me sert d'une fonction recherche à partir de cette formule. Je ne comprend pas pourquoi. (Certainement parce que je ne comprend pas tout de cette formule...)
J'aimerais renseigner les colonnes B, C, D et E (Feuille 3) automatiquement en fonction de si l'OF est actif ou non à la semaine en cours.
Je suis un utilisateur d'excel qui a appris un peu sur le tas. Certaines des mes formules capilotractées vont certainement vous faire bondir au plafond mais ça marche pas trop mal jusqu'à maintenant. N'hésitez pas, si vous y voyez des simplifications à me les dire, j'en serai ravi. Mais la priorité reste sur ma page 3.
Merci d'avance.
Vianney
Bonjour
Impossible de travailler sur ton classeur tout est protégé
Merci de re-joindre ce fichier sans protection
Dans l'attente,sur la forme,:
- il faudrait transformer tes tableaux en tableaux dynamiques, chaque ligne nouvelle reprenant les caractéristiques de la précédente
pas de lignes vides entre entête et données
- mettre les totaux et sous totaux ( au dessus) de l’entête de ton tableau ( au dessus) pour obtenir une somme basée sur le nom de la colonne
- la formule à préconiser : = sierreur(decaler(planningb4;equiv(planning ressourcesb4;planning $b$5:$b$17;0);1);"Codabs")
==> syntaxe des références de cellule a saisir par sélection, en figeant la zone de planning b5 b17....
Avec un classeur aux onglets déprotégés ce la ira tout seul
Cordialement
FINDRH
Bonjour, décidément FINDRH, aujourd'hui n'est pas ton jour...Le code est fourni dans l'ennoncé.
Vianney ANDRE a écrit :Bonjour,
...Aujourd'hui nous décidons d'améliorer cet outil... (code: Toto).
Vianney
Bonjour Machin
Eh oui plus c'est évident et moins ça se voit.... code n'est par ailleurs pas forcément égal au mot de passe ....
y a plus qu'à !
Amitiés
FINDRH
Bonjour Machin
Eh oui plus c'est évident et moins ça se voit.... code n'est par ailleurs pas forcément égal au mot de passe ....
y a plus qu'à !
Amitiés
FINDRH
Bonjour
ci joint une proposition saisie dans la colonne B.
=SI(ESTERREUR(EQUIV($B4;planning!$B$3:$B$17;0));"";SI(ET(planning!$B$1>=DECALER(planning!$B$2;EQUIV('Planning ressources'!$B4;planning!$B$3:$B$17;0);6);planning!$B$1<=DECALER(planning!$B$2;EQUIV('Planning ressources'!$B4;planning!$B$3:$B$17;s0);8));DECALER(planning!$B$2;EQUIV('Planning ressources'!$B4;planning!$B$3:$B$17;0);1);"pp"))
remplacer PP par "" si tu veux ne rien voir apparaitre dans la cellule
pour les autres info merci de me préciser dans quelles colonnes elles se trouvent
une formule du type : =si( et($c4<>0;$c4<>"");decaler(planning!$B$2;EQUIV('Planning ressources'!$B4;planning!$B$3:$B$17;0);1);"") suffirait
remplacer 1 (en rouge) par le décalage de colonnes correspondant à votre tableau
Cordialement
FINDRH
Merci beaucoup, et désolé de ne pas avoir été juste dans mon choix de mot (code≠mot de passe).
Ta formule fonctionne, j'ai utilisé: =si( et($c4<>0;$c4<>"");decaler(planning!$B$2;EQUIV('Planning ressources'!$B4;planning!$B$3:$B$17;0);1);"")
Là où ça posait problème c'est lorsque je prenais comme référence de recherche pour la formule EQUIV la colonne entière B et non un ensemble de cellules de la colonne comme tu l'as fait. Le fait de sélectionner la colonne faisait tout foirer.
J'avoue ne pas encore tout comprendre à la formule DECALER (tant pis/tant mieux, ça marche) mais maintenant que je l'ai appliquée, je vais décortiquer ça plus en détail quand le temps me le permettra.
Encore merci.
Cordialement.
Bonjour
Decaler est moins exigeant que Recherche, car la zone où tu recherches doit toujours être triée ...
Décortiques la formule en utilisant uniquement Decaler, puis regardes la fonction Equiv.... la combinaison des deux est très productive !
Bonne continuation
Cordialement
FINDRH