J'arrive après la bataille et ne serai donc sans doute pas lu mais tant pis. Juste quelques ajouts à ce qui a été dit à juste titre par d'autres.
-Il y a des toponymes en -ac à l'extrème sud de l'Aquitaine (graphiés -acq en Béarn), en Catalogne du Nord (-ach) et à l'est du Rhône. On les retrouve de l'autre côté des Alpes en Italie du Nord sous la forme -ago (mais dans les dialectes locaux le -o final, imposé par la normalisation toscane, ne se prononce pas). Ce qui semble quand même confirmer le côté originellement celtique de la chose (la Gaule Cisalpine de feu les Romains). On retrouve d'ailleurs le suffixe dans les Iles britanniques sous la forme -ack (ouest Cornouailles), -og ou ock, (Gallois, est Cornouailles, centre Angleterre, sud Ecosse) . Ce -oc a d'ailleurs débarqué" en Bretagne, pour devenir -euc.
--Ac se conserve en Bretagne là où le roman d'oïl s'est installé tardivement ou ne s'est jamais installé. Il se conserve dans le sud du Poitou (Cognac...) parce que la zone n'a été francisée que relativement tardivement (peut-être vers l' an 1000). Partout ailleurs, le roman d'oïl et francoprovençal l'a palatalisé (-y, é, ieu en francoprovençal...) y compris dans les zones aujourd'hui germanophones où le roman a survécu suffisamment longtemps (parfois jusqu'au XIIe) pour partager l'évolution de l'oïl : d'où des toponymes comme Julich et autres -ich du côté d'Aix la Chapelle, Cologne, Trêves.
-Et bien sûr, les toponymes auvergnats en -lhac et -nhac n'ont rien à voir avec les Vikings : en graphie occitane depuis le XIIe siècle, le -h note la palatalisation de la consonne précédente (Paulhan = Pauillan, Vernhet = Vergnet)