Ralentissement lié à une MFC [Résolu]

bennn89 8 Messages postés mercredi 4 janvier 2012Date d'inscription 11 août 2017 Dernière intervention - 10 août 2017 à 18:59 - Dernière réponse : ccm81 8209 Messages postés lundi 18 octobre 2010Date d'inscription 21 décembre 2017 Dernière intervention
- 11 août 2017 à 10:58
Bonjour,

Dans un fichier qui permet de gerer des commandes et notamment le pointage de celle ci a réception par le biais du code barre, j'ai crée une mise en forme conditionnelle sensé colorée la ligne de l'article quand il est reçu.

Les articles sont receptionnés dans un onglet "reception" en les bippant, ils sont lié a un nom de commande.
Dans l'onglet ou se trouvent les commandes ma mise en forme est sensé coloré les lignes en vert des articles recus.

Il y a deux criteres le nom de commande et le code barre, le nb d'articles recu est décompté et comparé aux nb des mêmes articles commandés dans la même commande, ce coup ci il y a une somme puisqu'une colonne quantité. si ceux ci sont égaux la ligne devient verte.

L'intervalle :
=$A:$N

La formule :

=SOMME.SI.ENS($E:$E;$A:$A;$A1;$L:$L;$L1)=NB.SI.ENS(RECEPTION!$C:$C;$L1;RECEPTION!$E:$E;$A1)

Cela marche tres bien mais ralentit de facon redibitoire la feuille alors mm quil ny a que 20 lignes. Est ce qu'il y a quelque chose à faire ou cette formule est definitivement trop complexe?

Afficher la suite 

5 réponses

Répondre au sujet
via55 8871 Messages postés mercredi 16 janvier 2013Date d'inscription 28 décembre 2017 Dernière intervention - 10 août 2017 à 19:10
+2
Utile
Bonjour

C'est bizarre

1° tu peux peut être limiter la plage d'execution des formules au lieu de la faire sur des colonnes entières comme E:E la faire sur E1:E1000 par ex

2° poste un exemple de ton fichier sur cjoint.com, fais créer un lien que tu copies et reviens coller ici , qu'on puisse voir si une amélioration est possible

Cdlmnt
Via
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de via55
Raymond PENTIER 44663 Messages postés lundi 13 août 2007Date d'inscriptionContributeurStatut 29 décembre 2017 Dernière intervention - 11 août 2017 à 03:30
0
Utile
Bonjour bennn89.

via55
a raison : ta formule fait des calculs sur 1 048 576 lignes en examinant chaque fois 5 cellules ! Même si tu n'as que 20 lignes renseignées, donc 100 cellules concernées par les fonctions SOMME.SI.ENS et NB.SI.ENS, les calculs se font, à chaque modification d'une cellule, sur la totalité des 5 242 880 cellules englobées dans tes plages de données ...
Commenter la réponse de Raymond PENTIER
ccm81 8209 Messages postés lundi 18 octobre 2010Date d'inscription 21 décembre 2017 Dernière intervention - Modifié par ccm81 le 11/08/2017 à 08:46
0
Utile
Bonjour à tous les trois

Une autre idée : nommer tes plages utiles de façon dynamique >voir DECALER(..) qui ne contiendront alors que les lignes utilisées et qui se mettront à jour automatiquement lorsque tu ajouteras des lignes

Cdlmnt
Commenter la réponse de ccm81
bennn89 8 Messages postés mercredi 4 janvier 2012Date d'inscription 11 août 2017 Dernière intervention - 11 août 2017 à 09:35
0
Utile
J'ai en effet utilisé la fonction DECALER pour pour nommer des plages utiles et tout va dorénavant pour le mieux, merci à tous.
Commenter la réponse de bennn89
ccm81 8209 Messages postés lundi 18 octobre 2010Date d'inscription 21 décembre 2017 Dernière intervention - 11 août 2017 à 10:58
0
Utile
De rien

Si c'est fini, peux tu mettre le sujet à résolu (en dessous du titre de ton premier message)

Bonne journée
Commenter la réponse de ccm81