Result | W–L | Date | Tournament | Tier | Surface | Partner | Opponents | Score |
Loss | 0–1 | | France F18, Saint-Dizier | Futures | Hard | Jérémy Corbière | Baptiste Bayet
Grégoire Burquier | 3–6, 1–6 |
Loss | 0–2 | | Spain F17, Melilla | Futures | Hard | Jules Marie | Iván Arenas-Gualda
Jaime Pulgar-García | 7–6, 1–6, |
Loss | 0–3 | | France F12, Montauban | Futures | Clay | Pierre-Hugues Herbert | Jonathan Eysseric
Nicolas Renavand | 7–6, 4–6, |
Win | 1–3 | | Belgium F7, Eupen | Futures | Clay | Teri Groll | Germain Gigounon
James Junior Storme | 6–4, 6–3 |
Loss | 1–4 | | France F18, Sarreguemines | Futures | Carpet | Jean Andersen | Julien Obry
Alexandre Penaud | 6–2, 1–6, |
Win | 2–4 | | France F21, La Roche-sur-Yon | Futures | Hard | Jean Andersen | Moritz Baumann
Tim Pütz | 7–6, 7–6 |
Win | 3–4 | | France F6, Saint-Raphaël | Futures | Hard | Romain Arneodo | Simon Cauvard
Alexandre Penaud | 6–7, 6–4, |
Win | 4–4 | | Turkey F20, Antalya | Futures | Hard | Davy Sum | Claudio Fortuna
Matthieu Viérin | 6–2, 6–0 |
Loss | 4–5 | | Serbia F2, Belgrade | Futures | Clay | Romain Arneodo | Patrik Fabian
Adrian Partl | 4–6, 1–6 |
Win | 5–5 | | France F10, Toulon | Futures | Clay | Benjamin Balleret | David Couronne
Vincent Verpeaux | 7–5, 6–4 |
Win | 6–5 | | France F14, Bagnères-de-Bigorre | Futures | Hard | Antoine Benneteau | Riccardo Ghedin
Claudio Grassi | 6–3, 4–6, |
Win | 7–5 | | Sweden F4, Gothenburg | Futures | Hard | Jesper Brunström | Pierre Bonfre
Viktor Stjern | 6–3, 7–6 |
Win | 8–5 | | France F19, Saint-Dizier | Futures | Hard | Germain Gigounon | David Rice
Sean Thornley | 7–6, 6–4 |
Win | 9–5 | 2013 Internationaux de Tennis de Vendée – Doubles| | Mouilleron-le-Captif, France | Challenger | Hard | Fabrice Martin | Henri Kontinen
Adrián Menéndez Maceiras | 3–6, 6–3, |
Loss | 9–6 | | Italy F2, Rovereto | Futures | Carpet | Fabrice Martin | Marco Crugnola
Luca Vanni | 4–6, 4–6 |
Loss | 9–7 | | France F7, Saint-Raphaël | Futures | Hard | Fabrice Martin | Romain Arneodo
Benjamin Balleret | 2–6, 6–7 |
Loss | 9–8 | | Croatia F13, Bol | Futures | Clay | Tim Nekic | Gastón-Arturo Grimolizzi
Giorgio Portaluri | 3–6, 4–6 |
Win | 10–8 | | Turkey F23, Istanbul | Futures | Hard | Federico Zeballos | Tuna Altuna
Michal Schmid | 7–6, 3–6, |
Win | 11–8 | | Belgium F7, Middelkerke | Futures | Hard | Élie Rousset | Éric Fomba
Florian Lakat | 6–3, 6–1 |
Loss | 11–9 | | Belarus F1, Minsk | Futures | Hard | Dane Propoggia | Sergey Betov
Aliaksandr Bury | 6–7, 6–7 |
Loss | 11–10 | | Belarus F2, Minsk | Futures | Hard | Dane Propoggia | Sergey Betov
Aliaksandr Bury | 3–6, 5–7 |
Loss | 11–11 | | France F20, Sarreguemines | Futures | Carpet | Élie Rousset | Erik Crepaldi
Pirmin Haenle | 6–7, 6–7 |
Win | 12–11 | | France F21, Nevers | Futures | Hard | Olivier Charroin | Romano Frantzen
Darren Walsh | 6–4, 6–4 |
Loss | 12–12 | | France F5, Balma | Futures | Hard | Alexandre Sidorenko | Romain Bauvy
Yanais Laurent | 3–6, 6–7 |
Loss | 12–13 | | Tunisia F10, El Kantaoui | Futures | Hard | Benjamin Balleret | Thomas Fabbiano
Giorgio Portaluri | 2–6, 6–7 |
Win | 13–13 | | Tunisia F11, El Kantaoui | Futures | Hard | Benjamin Balleret | Thomas Fabbiano
Giorgio Portaluri | 7–5, 2–6, |
Win | 14–13 | | Turkey F16, Antalya | Futures | Hard | Yannick Jankovits | Marat Deviatiarov
Michael Geerts | 7–6, 6–1 |
Loss | 14–14 | | Turkey F17, Antalya | Futures | Hard | Antoine Bellier | Lucas Miedler
Maximilian Neuchrist | 6–4, 3–6, |
Loss | 14–15 | | Egypt F21, Sharm El Sheikh | Futures | Hard | Jaime Pulgar-García | Juan Matías González Carrasco
Emiliano Franco Vecchia | 6–7, 7–5, |
Win | 15–15 | | France F10, Mont-de-Marsan | Futures | Hard | Romain Arneodo | Théo Fournerie
Louis Tessa | 6–1, 7–5 |
Win | 16–15 | | Turkey F26, Istanbul | Futures | Hard | Yannick Jankovits | Sarp Ağabigün
Muhammet Haylaz | 2–6, 7–5, |
Win | 17–15 | | France F16, Ajaccio | Futures | Hard | Romain Arneodo | Sanchai Ratiwatana
Sonchat Ratiwatana | 2–6, 6–4, |
Win | 18–15 | | Switzerland F4, Sion | Futures | Clay | Tak Khunn Wang | Federico Coria
Siméon Rossier | 6–2, 6–2 |
Win | 19–15 | | Turkey F18, Antalya | Futures | Hard | Miķelis Lībietis | Sarp Ağabigün
Altuğ Çelikbilek | 6–2, 6–2 |
Win | 20–15 | | Turkey F19, Antalya | Futures | Hard | Miķelis Lībietis | Katsuki Nagao
Hiromasa Oku | 4–6, 6–2, |
Win | 21–15 | | Zimbabwe F1, Harare | Futures | Hard | Andrea Vavassori | Benjamin Lock
Courtney John Lock | 6–3, 6–3 |
Win | 22–15 | | Zimbabwe F2, Harare | Futures | Hard | Vishnu Vardhan | Nicolaas Scholtz
Tucker Vorster | 6–4, 6–2 |
Win | 23–15 | | Zimbabwe F3, Harare | Futures | Hard | Vishnu Vardhan | Benjamin Lock
Courtney John Lock | 6–7, 6–4, |
Win | 24–15 | | France F16, Ajaccio | Futures | Hard | Romain Arneodo | Romain Jouan
Joan Soler | 7–5, 6–2 |
Win | 25–15 | | Spain F24, Béjar | Futures | Hard | Yannick Mertens | Alexander Centenari
Sami Reinwein | 6–4, 7–6 |
Loss | 25–16 | | Switzerland F3, Collonge-Bellerive | Futures | Clay | Antoine Bellier | Gonçalo Oliveira
Fabien Reboul | 3–6, 5–7 |
Loss | 25–17 | | France F18, Mulhouse | Futures | Hard | Maxime Authom | Andreas Beck
Grégoire Jacq | 4–6, 3–6 |
Win | 26–17 | | France F22, Saint-Dizier | Futures | Hard | Mick Lescure | Geoffrey Blancaneaux
Evan Furness | 6–2, 6–3 |
Loss | 26–18 | 2016 KPIT MSLTA Challenger – Doubles| | Pune, India | Challenger | Hard | Luca Margaroli | Purav Raja
Divij Sharan | 6–3, 3–6, |
Loss | 26–19 | | France F1, Bagnoles-de-l'Orne | Futures | Clay | Grégoire Jacq | Constant Lestienne
Alexis Musialek | 6–3, 5–7, |
Win | 27–19 | | France F2, Bressuire | Futures | Hard | Corentin Denolly | Ante Pavić
Ruan Roelofse | 6–4, 6–2 |
Win | 28–19 | | Canada F1, Gatineau | Futures | Hard | Miķelis Lībietis | Grégoire Barrère
Laurent Lokoli | 7–6, 6–3 |
Loss | 28–20 | | Canada F2, Sherbrooke | Futures | Hard | Miķelis Lībietis | Isak Arvidsson
Frederik Nielsen | 0–6, 4–6 |
Loss | 28–21 | | France F10, Grasse | Futures | Clay | Grégoire Jacq | Maxime Chazal
Louis Tessa | 2–6, 6–1, |
Win | 29–21 | 2017 Antonio Savoldi–Marco Cò – Trofeo Dimmidisì – Doubles| | Manerbio, Italy | Challenger | Clay | Romain Arneodo | Mikhail Elgin
Roman Jebavý | 4–6, 7–6, |
Loss | 29–22 | 2017 Amex-Istanbul Challenger – Doubles| | Istanbul, Turkey | Challenger | Hard | Romain Arneodo | Andre Begemann
Jonathan Eysseric | 3–6, 7–5, |
Win | 30–22 | 2018 BNP Paribas de Nouvelle-Calédonie – Doubles| | Nouméa, New Caledonia | Challenger | Hard | Tim Pütz | Alejandro González
Jaume Munar | 6–2, 6–2 |
Win | 31–22 | 2018 Play In Challenger – Doubles| | Lille, France | Challenger | Hard | Tim Pütz | Jeevan Nedunchezhiyan
Purav Raja | 7–6, 1–6, |
Loss | 31–23 | 2018 Cary Challenger – Doubles| | Cary, USA | Challenger | Hard | Fabrice Martin | Evan King
Hunter Reese | 4–6, 6–7 |
Loss | 31–24 | 2018 Bauer Watertechnology Cup – Doubles| | Eckental, Germany | Challenger | Carpet | Jonny O'Mara | Kevin Krawietz
Andreas Mies | 1–6, 4–6 |
Win | 32–24 | 2019 Canberra Challenger – Doubles| | Canberra, Australia | Challenger | Hard | Marcelo Demoliner | André Göransson
Sem Verbeek | 3–6, 6–4, |
Win | 33–24 | 2019 Open BNP Paribas Banque de Bretagne – Doubles| | Quimper, France | Challenger | Hard | Fabrice Martin | David Pel
Antonio Šančić | 6–4, 6–2 |
Win | 34–24 | 2019 Play In Challenger – Doubles| | Lille, France | Challenger | Hard | Romain Arneodo | Jonathan Erlich
Fabrice Martin | 7–5, 5–7, |
Loss | 34–25 | 2019 BNP Paribas Primrose Bordeaux – Doubles| | Bordeaux, France | Challenger | Clay | Romain Arneodo | Quentin Halys
Gregoire Barrere | 4–6, 1–6 |
Loss | 34–26 | 2019 Challenger Banque Nationale de Granby – Men's Doubles| | Granby, Canada | Challenger | Hard | Li Zhe | André Göransson
Sem Verbeek | 2–6, 4–6 |
Win | 35–26 | 2019 Open d'Orléans – Doubles| | Orleans, France | Challenger | Hard | Romain Arneodo | Hans Podlipnik Castillo
Tristan-Samuel Weissborn | 6–7, 6–3, |