Bonjour le forum,
Tout d'abord, merci à tous ceux qui vont prendre un peu de temps pour réfléchir à mon problème (surtout que je débute en VBA).
Je suis en train de créer un fichier sur les coûts de revient de différents articles.
L'idée générale de ce fichier:
* chaque article a un nombre d'opération pour être fabriqué (opé-1, opé-2, etc...) avec des paramètres propres à chaque opération (machine, temps, nombre d'opérateur, etc...).
* chaque opération (qui est donc liée à une machine) va alimenter l'onglet de la machine concernée (un onglet par machine, limité à 2 dans le fichier exemple).
* ainsi, le budget associé à chaque machine se réparti en fonction du temps d'occupation de la machine
Voilà, en (très) gros l'idée.
Un exemple est plus parlant:
J'ai un article 1, qui est fabriqué à l'aide de 2 opérations:
- opé 1: il passe sur la machine 1, pour un temps de 0.15 s par pièce
- opé 2: il passe sur la machine 2, pour un temps de 0.12 s par pièce
Quand je met à jour l'opération 1 (bouton MAJ Opé-1), il va automatiquement alimenter l'onglet 001 (lié à la machine 1). De même pour l'opération 2.
Je fais pareil pour tous les articles, qui vont s'incrémenter dans chaque onglet. Les budgets par machines se répartissent en fonction du temps de mobilisation, et un prix unitaire est calculé.
Mon problème:
Le fichier que j'ai réalisé fonctionne bien pour un petit nombre de ligne, comme les 47 articles de l'exemple.
Le souci, c'est que j'ai de nombreuses références (allez, disons 2500) et que du coup mes "mises à jour" sont très longues. Cela vient du fait qu'en colonne S, AA, etc...j'utilise la formule:
Et que ce calcul, qui s'actualise sur 2500 lignes x 10 colonnes, bah forcément ca bouffe de la ressource.
Auriez-vous une idée d'optimisation ?
Comment pourrais-je obtenir les résultats de Prix / Unité (colonnes S, AA, etc...) de manière assez rapide ?
J'ai l'impression que l'aspect "alimentation des onglets" est correct, mais que je suis limité pour aller chercher le résultat (car il s'agit de recherches "dynamiques")
Par avance merci pour vos idées,
Int0x
Tout d'abord, merci à tous ceux qui vont prendre un peu de temps pour réfléchir à mon problème (surtout que je débute en VBA).
Je suis en train de créer un fichier sur les coûts de revient de différents articles.
L'idée générale de ce fichier:
* chaque article a un nombre d'opération pour être fabriqué (opé-1, opé-2, etc...) avec des paramètres propres à chaque opération (machine, temps, nombre d'opérateur, etc...).
* chaque opération (qui est donc liée à une machine) va alimenter l'onglet de la machine concernée (un onglet par machine, limité à 2 dans le fichier exemple).
* ainsi, le budget associé à chaque machine se réparti en fonction du temps d'occupation de la machine
Voilà, en (très) gros l'idée.
Un exemple est plus parlant:
J'ai un article 1, qui est fabriqué à l'aide de 2 opérations:
- opé 1: il passe sur la machine 1, pour un temps de 0.15 s par pièce
- opé 2: il passe sur la machine 2, pour un temps de 0.12 s par pièce
Quand je met à jour l'opération 1 (bouton MAJ Opé-1), il va automatiquement alimenter l'onglet 001 (lié à la machine 1). De même pour l'opération 2.
Je fais pareil pour tous les articles, qui vont s'incrémenter dans chaque onglet. Les budgets par machines se répartissent en fonction du temps de mobilisation, et un prix unitaire est calculé.
Mon problème:
Le fichier que j'ai réalisé fonctionne bien pour un petit nombre de ligne, comme les 47 articles de l'exemple.
Le souci, c'est que j'ai de nombreuses références (allez, disons 2500) et que du coup mes "mises à jour" sont très longues. Cela vient du fait qu'en colonne S, AA, etc...j'utilise la formule:
=RECHERCHEV(CONCATENER(A4;$L$2);INDIRECT(CONCATENER("'";DROITE(RECHERCHEV(L4;Settings!B;2;0);3);"'!M:O"));2;0)
Et que ce calcul, qui s'actualise sur 2500 lignes x 10 colonnes, bah forcément ca bouffe de la ressource.
Auriez-vous une idée d'optimisation ?
Comment pourrais-je obtenir les résultats de Prix / Unité (colonnes S, AA, etc...) de manière assez rapide ?
J'ai l'impression que l'aspect "alimentation des onglets" est correct, mais que je suis limité pour aller chercher le résultat (car il s'agit de recherches "dynamiques")
Par avance merci pour vos idées,
Int0x