Bonjour à toutes et à tous,
J'avais déjà mis un post sur ce forum il y a plusieurs mois concernant mon problème, néanmois après plusieurs centaines de modifications, de bidouillages et autre, du code que l'on m'avait proposé, mon besoin a évolué et aujourd'hui, mes faibles connaissances en VBA et les limitations du code que j'ai malgré tout tourné et retourné dans tous les sens, j'avoue que je sèche un peu, je viens donc ici vous demander un peu d'aide :D .
J'ai pensé une nouvelle macro qui pourrait répondre à mon besoin néamoins je ne sais pas si techniquement tout est réalisable ni vraiment comment la faire.
Donc pour faire simple voilà ce dont j'ai besoin : A partir d'un tableau excel rempli, je veux déduire un résultat (colonne B) en fonction du statut d'un test (colonne D) le tout rataché à un "nom" (colonne A). Vous pouvez visualiser le résultat souhaité sur l'image ci-dessous.
Le résultat final est donc déterminé en fonction du statut de la colonne D. Si il y a un "NOK" le résultat sera forcément "NOK" dans la colonne B, si il y a un "POK" ou un "NR" le résultat sera forcément "POK", si tout est "OK", le résultat sera "OK", en revanche, si il y a que des "NR", le résultat doit être "NOK".
L'ancienne macro que j'avais bidouillée utilisait des dictionnaires, mais malgré tous mes essais, cette méthode ne semble pas me permettre de gérer autant de cas, surtout avec le cas particulier des "NR" qui sont "NOK" quand ils sont seuls.
J'ai donc songé à une autre méthode, l'idée serait de récupérer la liste des noms (colonne A) pour pouvoir ensuite appliquer un traitement nom par nom. Pour cela j'avais pensé utiliser la fonction "AutoFilter" avec la liste des noms en paramètre puis utiliser la fonction "RechercheV" afin de vérifier si la colonne D contient "NOK", "POK", etc ... et donc appliquer mes conditions, puis ensuite, en fontion des sorties, incrémenter la colonne B avec les bonnes valeurs. Le tout dans une boucle afin de répéter l'opération sur tout le fichier (je précise que celui-ci est de longueur variable).
Voilà, je ne sais pas si tout est clair mais j'espère que quelqu'un pourra m'aider, en tout cas je vous remercie par avance :) !
Pierro