That is what i'm (was) using.
It works fine on its own, but in my procedure,
the column name comes from a cursor and instead of giving me the avg of the data in the column, it gives the avg of the column name size.

Anyhow, I found an easier way.

I didn't notice that dba_tab_columns has an avg_col_length
column. I just have to get the column name, and the avr_col_length for the table name I give to my procedure.

Works fine now.

Denis