The calculated distance (air line) between Visp and Schaffhausen is approximately 103 miles respectively 166 kilometers.
By car or train, the actual journey to Schaffhausen is certainly longer, as only the direct route (as the crow flies) between Visp and Schaffhausen has been calculated here.
Air line (approximately)
166 kilometers
90 nautical miles