This article describes a multi-modal routing problem, which occurs each time a user wants to travel from a point A to a point B, using either ride-sharing or public transportation. The main idea is to start from an itinerary using public transportation, and then substitute part of this itinerary by ride-sharing. We first define a closeness estimation between the user’s itinerary and available drivers. This allows to select a subset of potential drivers. We then compute sets of driving quickest paths, and design a substitution process. Finally, among all admissible solutions, we select the best one based on the earliest arrival time. We provide numerical results using benchmarks based on geographical maps, public transportation timetabling and simulated requests and driving paths. Our numerical experiment shows a running time of a few seconds, suitable for a new real-time transportation application.