Bonjour !
Je vous explique mon objectif : j'ai des codes (géograpiques), caractérisé par une taille (ex taille de pop, ici ETP) et des coordonnées x et y (point de référence du code).
Je cherche a former des regroupements sous deux conditions : la distance entre les codes (je pose un Dmax) et la taille totale du groupe formé (je souhaite que les groupes soient entre ETP min et ETP max)
Je fixe également un code de départ.
Mon idée serait de créer une macro qui construit petit a petit les groupes.
Partant du code de départ, je cherche le code le plus proche.
Si la somme des ETP des deux codes est <ETP max je regroupe les 2 codes.
Je définis alors un nouveau code (rassemblant les deux) et dont le point de ref est le barycentre des 2 codes, pondéré par la taille de chacun.
Si la somme des ETP est également < ETP min, je cherche un nouveau code a ajouter au groupe pour atteindre la taille requise. (cette fois je compare les distance entre les codes et le barycentre formé) ... et ainsi de suite
Sinon, si je suis entre ETP min et max, je considère le groupe comme formé. J'arrete la boucle,
Je défini un nouveau point de départ et je recommence un groupe.
Malheuresement je galère beaucoup beaucoup avec vba !
je pensais faire un tableau modélisant mon code de départ et ses caractéristiques et un autre tableau modélisant les autres codes, et les distances entre chacun et le code de départ.
puis faire une boucle while, tant que la taille de mon centre n'a pas atteind ETP min<<ETP max je recherche le code le plus proche, calcule le barycentre et ainsi de suite...
Pensez vous que ce soit la bonne méthode pr faire ca. et pourriez vous m'aider svp ?
Merci d'avance,
Marine
Je vous explique mon objectif : j'ai des codes (géograpiques), caractérisé par une taille (ex taille de pop, ici ETP) et des coordonnées x et y (point de référence du code).
Je cherche a former des regroupements sous deux conditions : la distance entre les codes (je pose un Dmax) et la taille totale du groupe formé (je souhaite que les groupes soient entre ETP min et ETP max)
Je fixe également un code de départ.
Mon idée serait de créer une macro qui construit petit a petit les groupes.
Partant du code de départ, je cherche le code le plus proche.
Si la somme des ETP des deux codes est <ETP max je regroupe les 2 codes.
Je définis alors un nouveau code (rassemblant les deux) et dont le point de ref est le barycentre des 2 codes, pondéré par la taille de chacun.
Si la somme des ETP est également < ETP min, je cherche un nouveau code a ajouter au groupe pour atteindre la taille requise. (cette fois je compare les distance entre les codes et le barycentre formé) ... et ainsi de suite
Sinon, si je suis entre ETP min et max, je considère le groupe comme formé. J'arrete la boucle,
Je défini un nouveau point de départ et je recommence un groupe.
Malheuresement je galère beaucoup beaucoup avec vba !
je pensais faire un tableau modélisant mon code de départ et ses caractéristiques et un autre tableau modélisant les autres codes, et les distances entre chacun et le code de départ.
puis faire une boucle while, tant que la taille de mon centre n'a pas atteind ETP min<<ETP max je recherche le code le plus proche, calcule le barycentre et ainsi de suite...
Pensez vous que ce soit la bonne méthode pr faire ca. et pourriez vous m'aider svp ?
Merci d'avance,
Marine