Quand ta requete est faite, tu connais le nombre de colonnes dans ta liste (.ColumnCount ?).
À partir de là, je ne vois pas le problème pour affecter une valeur à .columwidths qui dépendrait de ce nombre et de la largeur voulue pour chacune des colonnes.