Re : Fonction ou VBA pour placement automatique dans liste
Bonjour
Une autre possibilité, sans autant de colonnes intermédiaires.
Quelques remarques :
1) On colle la liste des références à partir de C4.
2) On tire la formule en D3 vers le bas. Elle donne la surface des références présentes en col A et en col C, en vert, ou "" lorsqu'il s'agit d'une nouvelle référence BSx. Il faut remplacer ces "" par la surface occupée par la nouvelle ref BSx.
3) Colonne F, la formule va afficher la surface de la ref, ancienne ou nouvelle. C'est cette formule qui guide le classement des nouvelles références. Les +LIGNE(Spacenécessaire)/100000 ne sont pas là pour différencier les surfaces ex-aequo, mais pour "porter" le n° de la ligne contenant l'information intéressante avec la surface de la ref. Ainsi, en F4, on a 2,10014 qui signifie surface =2,10 et ligne=14. J'ai mis dans cette colonne un format personnalisé pour ne pas afficher les 0.
4) Colonne E, on affiche les ref, soit, dans les cellules bleu clair, celles n'ayant pas bougées, données col A, soit, dans les cellules sur fond blanc, celles en colonne C, Orders, sur la ligne donnée à la "fin" de la surface, colonne F. En G4, c'est celle en C14 à cause du 14 à la fin de 2,10014.
@ plus
P.S : Si tu obtiens les surfaces correspondant aux nouvelles ref avec une formule, le plus simple serait de modifier la formule dans D3 pour l'inclure dans celle qui y est déjà.