Bonjour,
Après un paquet de recherches sur le net et un nombre incalculable d'essais infructueux, je me tourne vers vous pour un coup de main. Voilà, j'ai un fichier excel qui me permet de calculer des pertes de charges. Je l'ai intégralement automatisé, de même que pour un premier tri de solution. Mon problème c'est qu'il faudrait que je puisse supprimer des "doublons" (en fait les solutions plus faibles mais valables) d'une plage de données.
En gros mon problème est le suivant, j'ai 7 variables qui évoluent chacune sur une plage donnée, et une dernière variable issue d'un précédent tri (j'ai déjà éliminé les solutions incorrectes en mettant cette valeur à 0 si on dépassait certains seuils et en la mettant à 1 si les seuils sont respectés).
Appelons les colonnes A, B, C, D, E, F, G et Tri
A varie de 0 à 7, B de 0 à 4, C de 0 à 3, D de 0 à 4, E de 0 à 4, F de 0 à 2, G de 0 à 2 et Tri entre 0 et 1.
Je voudrais renvoyer 0 dans la ligne correspondant au concatener(A;B;C;D;E;F;G) si une solution de type concatener(A-1;B;C;D;E;F;G)=(7-1)434422 soit 6434422 existe. De même pour une solution qui serait de type 7232111, etc. sachant que dans le cas d'une solution de type 7034422 ou 7000022 et autres soutions du genre, je veux aussi garder la plus grande.
Cela fait un paquet de test de type "IF" à lancer (36000-n avec n allant de 1 à 35999) pour chaque ligne n. C'est un peu lourd.
En ayant déjà renvoyé un 1 ou un 0 selon si la solution est valable ou non, il me reste quand même près de 5000 lignes à tester ainsi.
Auriez-vous une idée de code plus simple qu'une série monstrueuse de "IF" combinée avec des "FOR" pour gérer cela?
Merci d'avance pour les retours, en espérant avoir été suffisamment clair.
Partager