Now i am thinking to take this initiative using VBA macro to *sort* Org Chart subordinates. Here is the approach in pseudocode:

'// note: this approach will sort the direct subordinates first horizontally (left to right) and then vertically (top to bottom)

'// assumption1: subordiantes shapes are already layed out properly (using one of layout styles), as this algorithm will only *swap* shapes.

'// assumption2: the desired precedance of subordinates is already stored in the imported file (Ex: Excel) as a special field containing a numerical *sequence* number. (this fild will be imported in Prop.Sequence).

declare an array of Points (X, Y)

Starting from *top* superior shape, do the following *recursively* for all direct subordinates untill no more sub-subordinates:

find all direct subordinates to this superior (by invistigating *to* connectors)

copy the shape coordinates (PosX, PosY) --> in the array of Points

sort the array of Points based on X

sort the array of Points based on Y

iterate [ i ] through same subordinates (now orderly based on the shape's "Prop.Sequence" value, starting from smallest value)

copy the Point[ i ](X, Y) to the shape (PosX, PosY)

is this approach right?

Yousuf.