Signaler

Ralentissement lié à une MFC [Résolu]

Posez votre question bennn89 8Messages postés mercredi 4 janvier 2012Date d'inscription 11 août 2017 Dernière intervention - Dernière réponse le 11 août 2017 à 10:58 par ccm81
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 
Utile
+3
plus moins
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
Donnez votre avis
Utile
+0
plus moins
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 ...
Donnez votre avis
Utile
+0
plus moins
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
Donnez votre avis
Utile
+0
plus moins
J'ai en effet utilisé la fonction DECALER pour pour nommer des plages utiles et tout va dorénavant pour le mieux, merci à tous.
Donnez votre avis
Utile
+0
plus moins
De rien

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

Bonne journée
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !