Aide amélioration d'un code (avec boucle/condition)

Bonjour à tous !

Que je vous explique : j'ai mis en place un excel de gestion de résultats d'analyses. A l'aide d'un vba, je peux : retrouver à partir de la référence d'échantillon le nom du produit analysé et le client concerné, traduire le résultat en nombre exploitable par excel (ex : "absence" devient "0"), interpréter le résultat avec un code couleur selon les exigences du client et le type d'analyse.

Le code est fonctionnel, j'en suis très contente (hehe) mais il y a un hic majeur : j'en suis à quasi 5000 résultats, avec un ajout d'environ 400 par semaine, du coup le code marche mais tourne pendant plus d'une heure...me bloquant au passage l'utilisation de n'importe quel excel, pas super pratique donc.

Je me demandais donc s'il existait une solution pour l'alléger ! Petit topo rapide sur le fonctionnement de la bête : mon code démarre par une boucle Do While Not. Tant que la colonne 15 (référence d'échantillon) n'est pas vide, il s'éxecute. Le truc, c'est que je l'ai programmé pour démarrer à la ligne 2. Et à chaque exécution, et bien il réapplique le code sur chaque ligne même celles déjà traitées, ce qui est normal vu que je l'ai programmé comme ça.

Mon idée d'allègement, c'était de laisser la boucle, mais de mettre juste après un "If colonne 24 (interprétation du résultat) vide, then" avec derrière les différentes composantes de la boucle. Comme ça la boucle valide la première condition colonne 15 non vide, et applique le code là où il n'a pas encore été appliqué, et passe à la suite (je me doute que ça doit avoir l'air bien tordu pour vous qui ne connaissez pas la bête ^^'...). En effet la colonne 24 n'est remplie que si le code a été exécuté. Sauf que...j'ai une erreur à ce dit If.

Bref, après ce long pavé, ma question est donc la suivante : y'a t'il un moyen d'alléger ce code ? J'espère avoir clairement expliqué le hic en tout cas. L'excel est en pièce jointe, en version "light".

Merci de m'avoir lu, et merci d'avance pour vos réponses !

9test.xlsm (34.11 Ko)

bonjour

mon avis perso de gestionnaire de fichiers de milliers de lignes : supprimer VBA !

remplacer par des formules

quel est le but de ton fichier ?

faire une comparaison entre résultats et exigences ? par mois, par an, par client, par jour...

Bonjour jmd !

Son but, c'est uniquement de la mise en forme de données quasiment. Le truc, c'est que je ne suis pas la seule à l'utiliser, et que les autres utilisateurs veulent du simple et rapide, donc même pas de l'étirement de formule...En clair, il fallait une base de données qui référence : toutes les exigences par client et par produit, qui sort également les exigences les plus faibles (donc les plus exigeantes), qui servent de base de données pour les résultats d'analyse, et qui mette en forme ces résultats.

Du coup il m'était plus simple de coder le tout en une seule macro, je la lance et basta, elle fait tout le travail. Parce que mes formules sont un peu complexe dans le sens où elles vont piocher des infos dans les 3 feuilles du classeur. Dans le fichier test c'est vrai que c'est assez simple, mais en vrai j'ai un grand nombre de produits et de clients ^^'. Du coup plutôt que me casser la tête avec les formules et éviter les plaintes des autres utilisateurs, j'ai tout mis sur VBA.

re

si tu veux, on ne touche pas au(x) fichier(s) de saisie

crée un ou des fichiers miroirs (contenant uniquement des liaisons vers les saisies)

et travaille à partir de ces miroirs

avec des RECHERCHEV tu vas résoudre 99% des tes questions

joins des fakes des fichiers de données de saisie.

on va voir.

re

Oula désolée, mais je ne suis pas sure de voir comment goupiller ça avec des fichiers mirroirs

Rechercher des sujets similaires à "aide amelioration code boucle condition"