Calculs avec nombre de cellules pouvant varier
Bonjour à tous,
Je suis actuellement en train de faire mon travail de diplôme qui consiste à mesurer et améliorer la production d'une entreprise.
Pour la mesure, j'ai créé une feuille excel.
Je vais tenter d’expliquer mon problème le plus clairement possible et je mets également le fichier excel en pièce jointe (je le laisse tel quel, ma question se trouve sur la feuille "Machine A" le reste n'est que des brouillons, pas la peine de lire.. Mais vous faites ce que vous voulez
J'ai comme information, la date, l'heure de start de la pièce, le temps de cycle et l'heure de fin. Certains temps de pièce se chevauchent. Exemple:
pièce 1) Start a 08h23, fin a 11h12
pièces 2) Start a 09h00, fin a 13h
Etc.
Mon objectif est de savoir pendant combien d'heure la machine fonctionne durant la journée.
Dans mon fichier, j'ai réussi a calculé ce temps de fonctionnement. Cependant, si on rajoute une pièce de plus ou de moins dans la journée, la formule de fonctionne pas. Elle fonctionne seulement pour un nombre de cellule précis.
Mais dans l'entreprise, chaque jour il y aura des quantités différentes.
Il faudrait donc faire que cette formule fonctionne peut-importe le nombre de cellules.
Merci d'avance à ceux qui vont m'aider.
Il y a de forte chance que je n'ai pas été suffisamment clair, je vous laisse déjà ouvrir le fichier et demandez-moi si vous ne m'avez pas compris.
Meilleures salutations
David
Salut,
Avec une fonction MIN et MAX sa ne peut pas fonctionner ?
Cf. ton fichier modifier joint.
Cdlt,
Salut,
Merci pour la réponse. Mais je ne vois pas trop où tu veux en venir avec le MIN MAX. As-tu vu la formule qui se trouve dans la case bleutée ? Car la formule actuel fonctionne, mais je ne sais pas comment faire pour qu'elle marche indépendamment du nombre de cellule.
En tout cas merci pour la rapidité 8)
Re,
Tu précise que ton objectif est de savoir combien de temps la machine va être fonctionnement. Et que ta difficulté est que certaine tâche se chevauche.
Nous somme d'accord pour admettre que la machine ne s'interrompt jamais avant d'avoir effectuer la dernière pièce ?
Le cas échéant, il suffit de prendre la valeur minimale (Fonction MIN) présente dans la colonne ou se situe les heures de départ des cycles.
Dans ton fichier : 6 heures.
Puis, de prendre la valeur maximale (fonction MAX) présente dans la colonne ou se situe les heures de fin des cycles.
Dans ton fichier : 20 heures 33
Et enfin, de faire la différence entre ces deux valeurs.
Soit, 14 heures 33 dans le fichier modifié que je t'ai joint.
Dit moi si je me trompe ^^.
NB : Désolé, je n'ai pas fait attention aux date inscrites dans la première colonne mais cela peut facilement être pris en compte.
Cdlt,
A d'accord,
Merci mais non ça ne fonctionnera pas car dans un premier temps, il se peut que la machine ne fonctionne pas toujours.
Exemple pris du fichier:
Pièces 1) 08:14:00 --> 09:49:00
Pièces 2) 10:23:00 -->13:50:00
De le cas ci-dessus, la machine ne fonctionnera pas 5h36 (13h50 moins 8h14) mais elle fonctionnera 5h02 ((9h49-8h14)+(13h50-10h23))
De plus, il se peut qu'elle soit lancer a par exemple 21h et qu'elle finisse a 01h du matin, donc la fonction MIN - MAX de va plus dan ce cas.
Mais la formule actuel fonctionne, sauf qu'elle est faite "cas par cas" et il en faudrait une général, qu'il y est 10 ou 1'000 cellule.
Voilà, j'espère avoir été suffisamment précis cette fois ^.^
Bonjour,
De plus, il se peut qu'elle soit lancer a par exemple 21h et qu'elle finisse a 01h du matin
C'est très important ça.
Ca change considérablement pour le calcul si c'est inscrit sur une seule ligne au lieu de 2, ça complique. Alors en 1 ligne ou 2 ?
eric
Hello,
Si j'ai bien compris ta question, c'est sur la même ligne.
D'ailleurs dans le fichier que j'ai joint, il n'y a pas d'exemple avec le 1h du matin et ça fonctionne pas avec ma formule si je le mets ... Noooon !
Je rajoute cet exemple avec 1h du matin et repose le nouveau fichier dans le courant de la journée
J'ai avancé pendant ce temps, par contre je trouve 2 résultats différents /3
J'ai contrôlé le dernier, je pense avoir bon.
Je te laisse contrôler le 1er (plus ch...
Une plage à cheval est bien à comptabiliser sur j et non j+1 ? Tu choisis, j'ajouterai ça ultérieurement
eric
edit : au fait, je me suis mis en I, mais surtout j'ai considéré les dates triées pour gagner du temps, il faut qu'elle le soit sinon je modifierai. Tu dis
Qu'entend-tu par J ou J+1 ?
Oui les dates seront dans l'ordre comme tu les a mises !
A première vu ça ma l'air de bien fonctionné, reste encore l'histoire des 1h du matin, tu aurais une idée de comment rajouter ça a ta formule ? Car apparemment tu en a fait une nouvelle.
En tout cas merci beaucoup a vous 2 pour le temps que vous prenez !
Je vais faire quelques tests dans la journée pour voir si tout fonctionne ou si il y a une faille !
Je vous redis tout
EDIT: En tout cas tes 3 résultats sont corrects
EDIT 2: Juste une question, dans ta formule: ttotal($A$9:$G$33;A33), le A33 correspond à la dernière cellule d'une date, mais concrètement il sert a quoi ? Car si je rajoute une ligne en dessous et que je la remplis, ça fonctionne quand même (en tirant le $G$33 a $G$34 bien sûr
Qu'entend-tu par J ou J+1 ?
compter 16/08 de 23:30 à 03:00 sur le 16 je suppose, mais tu piques 3h du jour suivant. Tu peux préférer le 17 c'est faisable mais de 22:00 à 01:00 ça sera le problème inverse.
Par contre une autre question se pose qui complique un peu plus la donne :
16/08 de 23:00 à 03:00
17/08 de 02:00 à 05:00
l'heure de 2:00 à 3:00 serait à compter quand ? Le 16 ou le 17 ?
Est-ce qu'il ne serait pas plus simple de faire la valeur exacte de 0:00 à 0:00 ? Mais même si tu n'as que 10 min qui débordent sur le jour suivant...
Parce que là tu vas avoir des journées de 26h et d'autres de 22h
Oui les dates seront dans l'ordre comme tu les a mises !
Je parlais des dates en A. Ca parait évident qu'elles le seront mais autant que je te le précise.
A première vu ça ma l'air de bien fonctionné, reste encore l'histoire des 1h du matin, tu aurais une idée de comment rajouter ça a ta formule ?
J'avais une idée
Mais ça risque d'être plus tard dans la journée...
Pour les
Ah d'accord,
Alors non non, on mets tout sur le même jours, donc sur le 16 dans ton exemple.
Pour l'instant c'est bon, car les employés travail de env. 5h-6h à max 21h (en équipe de 2x8h).
Donc au plus tôt, elle sera lancé a 5h.
Le problème en faisant de minuit a minuit c'est que le lundi ça commence a 05h du matin et le vendredi ça finira a 21h. Donc en tout les cas on aura pas le bon nombre d'heure par jour.
On a un total de 112 heures pour la semaine alors je compterai 22.4h par jour. Car au final le résultat que tu me sors chaque jour n'est pas le résultat final, il me sert ensuite a calculer le taux de rendement de la machine.
Ou alors, on fait de minuit a minuit, mais du coup il faudra que je fasse une formule pour qu'automatiquement, si c'est lundi il compte 19h et si c'est vendredi, il compte 21h.. Mais je sais pas si c'est faisable.
Et de toute façon, je ne pense pas que le rendement machine journalier les intéressent réellement, je pense qu'ils vont regarder a la semaine, mois ou année.
J'espère n'avoir rien zapper !
Merci pour tout
Ok pour mettre au 16 mais tu n'as pas répondu aux différents cas envisagés.
Ca serait bien qu'on ne soit pas obligé de dire qu'on n'a pas posé une question au hasard et qu'on veut une réponse...
Si tu n'as pas le temps de lire et répondre à toutes les questions, pas de pb on remet à la semaine suivante.
Tu te doutes bien qu'avec le service que tu me rends, je me donne au maximum pour répondre aux questions !
J'ai beau relire, je ne vois pas quelle information il manque dans mon message...
compter 16/08 de 23:30 à 03:00 sur le 16 je suppose, mais tu piques 3h du jour suivant. Tu peux préférer le 17 c'est faisable mais de 22:00 à 01:00 ça sera le problème inverse.
-Alors non non, on mets tout sur le même jours, donc sur le 16 dans ton exemple.
Par contre une autre question se pose qui complique un peu plus la donne :
16/08 de 23:00 à 03:00
17/08 de 02:00 à 05:00
l'heure de 2:00 à 3:00 serait à compter quand ? Le 16 ou le 17 ?
Ce cas ne se produira jamais. En autre terme, ce qui commence le 16 sera compté dans sa totalité sur le 16, et ce qui commence le 17 sera compté dans sa totalité sur le 17.
Est-ce qu'il ne serait pas plus simple de faire la valeur exacte de 0:00 à 0:00 ? Mais même si tu n'as que 10 min qui débordent sur le jour suivant...
Parce que là tu vas avoir des journées de 26h et d'autres de 22h
Problème du lundi et vendredi donc ce n'est pas forcément plus "logique". SAUF s'il est possible de différencier les jours avec les dates, et qu'automatiquement ils compte max 19h pour lundi et max 21h pour vendredi
Me voilà revenu.
C'était le cas chevauchement d'heures sur le lendemain qui me manquait.
Toi tu connais les besoins exacts et les impacts, les données possibles. Moi non, ce ne sont que des nombres sans signification.
Et il faut indiquer à excel quoi faire dans tous les cas pouvants se présenter.
Donc c'est fait : toutes les durées sont comptabilisées sur la date de la ligne, y compris ce qui fini le lendemain.
J'ai changé un peu la syntaxe :
=tTotal(dates, tDebut, tFin, dateVoulue)J'ai séparé les 3 plages date, heures début et fin.
Comme ça la fonction reste utilisable sur un tableau présenté différemment, ou si le tien évolue.
Je ne me suis pas embêté à faire de contrôle, les données fournies doivent être cohérentes sinon plantage.
Dit s'il faut fiabiliser un peu (valeurs d'erreur sur la feuille au lieu du plantage) ou si tu seras le seul utilisateur.
Le dernier paramètre est la date du cumul voulu. Ainsi tu peux te faire une liste de dates sur une autre feuille, tu auras les résultats groupés plutôt que dispersés sur ton tableau. Plus pratique pour les stats ou les graphiques.
Si tu emmènes la fonction dans un autre classeur il faudra l'enregistrer en .xlsm
Regarde si ça va.
eric
PS : tes tableaux seront-ils longs ? Si oui on peut envisager une fonction qui retournerait tous les résultats dans une matrice en une fois, +rapide mais un peu plus contraignant à l'utilisation (validation matricielle sut une plage).
Excellent, tout m'a l'air parfait ! Je te remercie infiniment pour le temps que tu as investis la dedans ! Ça va beaucoup m'aider pour mon travail de diplôme !
Une dernière petite question et après le sujet pour être clôt.
Est-il possible d'insérer une barre de scroll (ou barre de défilement je crois) dans le tableau ?
Comme ça, je peux entrer les donnée pour par exemple l'équivalent de 100 lignes dans le tableau. Mais que sur la feuille elle-même, je puisse mettre des graphique autour.
Car si je me un graphique tout en haut et qu'on a par exemple 1000 lignes, si il faut a chaque fois tout scroller pour voir le résultat c'est une perte de temps.
J'ai trouvé un exemple de comment faire sur youtube --> https://www.youtube.com/watch?v=x2zXc9mJX_U
Mais dans cette exemple, les données viennent d'une autre feuille.
Tu en as déjà bien suffisamment fait pour moi ! Si tu n'as pas le temps, ou pas la motivation, il n'y a pas de soucis, hésites pas à le dire
J'ai des gros problèmes d'internet depuis une semaine et regarder une vidéo ne fait pas partie du possible pour moi :-s
Plusieurs possibilités :
- figer les volets sur ligne 1 que tu réserve aux graphiques.
- séparer la fenêtre : prendre le bouton juste au-dessus de l'ascenseur vertical (le curseur souris change) et le tirer vers le bas. Plus souple que figer les volets mais toujours un ascenseur horizontal commun
- 'Affichage / Plusieurs fenêtres' suivi de 'Réorganiser tout / vertical'. Là tu as 2 vues du même classeur avec leurs ascenseurs indépendants.
Niquel ! Merci beaucoup
Niquel ! Merci beaucoup