La commune de Charmeil est située dans le département Allier.
Les communes à proximité sont les suivantes : Bellerive-sur-Allier, Vendat, Saint-Rémy-en-Rollat, Espinasse-Vozelle, Creuzier-le-Vieux, Vichy.
3 infirmiers et infirmières à domicile exercent à Charmeil.