Il est employé ensuite à l'état-major de la Grande Armée, comme aide-major général auprès du maréchal Berthier, chargé du service topographique pendant les campagnes d'Allemagne, de Prusse et de Pologne. Il assiste aux batailles d'Ulm en , d'Austerlitz le , d'Iéna le , d'Eylau le , de Guttstadt en , d'Heilsberg le , et de Friedland le . Il est nommé général de division le , et il est créé comte de l'Empire le .