The calculated distance (air line) between Ham and Metz is approximately 146 miles respectively 235 kilometers.
By car or train, the actual journey to Metz is certainly longer, as only the direct route (as the crow flies) between Ham and Metz has been calculated here.