| 13-10 | DNF | | Paris - Tours Elite (1.HC) | 217.0km |
| 10-10 | 98 | | Paris-Bourges (1.1) | |
| 06-10 | 68 | | Tour de Vendée (1.1) | 199.0km |
| 25-09 | DNF | | Omloop van het Houtland Lichtervelde (1.1) | 186.0km |
| 18-09 | 117 | | Grand Prix de Wallonie (1.1) | 205.0km |
| 15-09 | DNF | | Coppa Bernocchi (1.1) | |
| 07-09 | 101 | | Brussels Cycling Classic (1.HC) | 189.0km |
| | | Tour Poitou-Charentes (2.1) |
| 66 | | Klassement |
| 16 | | Punten |
| 30-08 | 48 | 66 | Stage 5Aigre - Poitiers (167.0km) | 167.0km |
| 29-08 | 68 | 76 | Stage 4Leigné-les-bois - Pleumartin (23.0km) | 23.0km |
| 29-08 | 24 | 79 | Stage 3Chatellerault - Pleumartin (110.0km) | 110.0km |
| 28-08 | 94 | 84 | Stage 2Rochefort-sur-Mer - Aigre (168.0km) | 168.0km |
| 27-08 | 3 | 3 | Stage 1Niort - Rochefort-sur-Mer (188.0km) | 188.0km |
| | | Tour du Limousin (2.1) |
| 24-08 | DNF | | Stage 4Confolens - Limoges (177.0km) | 177.0km |
| 23-08 | 77 | 81 | Stage 3Chamboulive - Beynat (176.0km) | 176.0km |
| 22-08 | 81 | 81 | Stage 2Rouffiac - Trélissac (182.0km) | 182.0km |
| 21-08 | 88 | 88 | Stage 1Condat-sur-Vienne - Guéret (172.0km) | 172.0km |
| 18-08 | DNF | | La Poly Normande (1.1) | 170.0km |
| | | Kreiz Breizh Elites (2.2) |
| 50 | | Klassement |
| 15 | | Punten |
| 05-08 | 4 | 50 | Stage 4Guingamp - Rostrenen (171.0km) | 171.0km |
| 04-08 | 74 | 72 | Stage 3Ploërdut - Carhaix (181.0km) | 181.0km |
| 03-08 | 35 | 15 | Stage 2Calanhel - Plouray (181.0km) | 181.0km |
| 02-08 | 3 | 11 | Stage 1Ploumagoar - Ploumagoar (12.0km) | 12.0km |
| 31-07 | 3 | | Circuito de Getxo "Memorial Ricardo Otxoa" (1.1) | |
| 30-06 | DNF | | National Road Championships - France (CN) | 252.0km |
| | | La Route d'Occitanie (2.1) |
| 23-06 | DNF | | Stage 4Gers - Astarac Arros en Gascogne (154.0km) | 154.0km |
| 22-06 | 91 | 91 | Stage 3Arreau - Luchon (173.0km) | 173.0km |
| 21-06 | 10 | 86 | Stage 2Labruguière - Martres-Tolosane (187.0km) | 187.0km |
| 20-06 | 92 | 92 | Stage 1Gignac - Saint-Geniez-d Olt (175.0km) | 175.0km |
| | | Critérium du Dauphiné (2.UWT) |
| 15-06 | DNF | | Stage 7Saint-Genix-les-Villages - Les Sept Laux-Pipay (133.0km) | 133.0km |
| 14-06 | 137 | 137 | Stage 6Saint-Vulbas - Saint-Michel-de-Maurienne (228.0km) | 228.0km |
| 13-06 | 4 | 138 | Stage 5Boën-sur-Lignon - Voiron (201.0km) | 201.0km |
| 12-06 | 139 | 141 | Stage 4Roanne - Roanne (26.0km) | 26.0km |
| 11-06 | 21 | 137 | Stage 3Le Puy-en-Velay - Riom (172.0km) | 172.0km |
| 10-06 | 144 | 144 | Stage 2Mauriac - Craponne-sur-Arzon (180.0km) | 180.0km |
| 09-06 | 145 | 146 | Stage 1Aurillac - Jussac (142.0km) | 142.0km |
| 02-06 | 9 | | Boucles de l'Aulne (1.1) | |
| 30-05 | DNF | | Circuit de Wallonie (1.1) | 192.0km |
| | | Tour de l'Ain (2.1) |
| 25-05 | DNS | | Stage 2Bellignat - Col de la Faucille (131.0km) | 131.0km |
| 24-05 | 2 | 2 | Stage 1Bourg-en-Bresse - Saint-Vulbas (164.0km) | 164.0km |
| | | Vuelta Aragón (2.1) |
| 78 | | Klassement |
| 19-05 | 81 | 78 | Stage 3Huesca - Zaragoza (147.0km) | 147.0km |
| 18-05 | 82 | 75 | Stage 2Sadaba - Canfranc Estación (183.0km) | 183.0km |
| 17-05 | 27 | 32 | Stage 1Andorra - Calatayud (174.0km) | 174.0km |
| | | Tour d'Eure-et-Loir (2.2) |
| 17-05 | 1 | 1 | Stage 1Dreux - Châteaudun (124.0km) | 124.0km |
| 12-05 | 1 | | Grand Prix de la Somme (1.2) | |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 1 | | Klassement |
| 1 | | Punten |
| 01-05 | 3 | 1 | Stage 7Plounévez-Lochrist - Saint-Pol-de-Léon (150.0km) | 150.0km |
| 30-04 | 4 | 3 | Stage 6Le Ferré - Plurien (171.0km) | 171.0km |
| 29-04 | 14 | 3 | Stage 5Rougé - Le Ferré (191.0km) | 191.0km |
| 28-04 | 37 | 1 | Stage 4Ploërmel - Chateaubriant (152.0km) | 152.0km |
| 27-04 | 2 | 2 | Stage 3Port-Louis - Guégon (172.0km) | 172.0km |
| 26-04 | 2 | 4 | Stage 2Bannalec - Quimperlé (169.0km) | 169.0km |
| 25-04 | 4 | 7 | Stage 1Lorient - Inzinzac-Lochrist (150.0km) | 150.0km |
| 22-04 | 78 | | Tro-Bro Léon (1.1) | 205.0km |
| 20-04 | DNF | | Tour du Finistère (1.1) | 196.0km |
| 16-04 | 49 | | Paris-Camembert (1.1) | 182.0km |
| 10-04 | DNF | | Scheldeprijs (1.HC) | 202.0km |
| 07-04 | 66 | | La Roue Tourangelle (1.1) | 186.0km |
| 05-04 | 40 | | Route Adélie de Vitré (1.1) | 197.0km |
| 30-03 | 23 | | Classic Loire Atlantique (1.1) | 182.0km |
| 22-03 | 39 | | Bredene Koksijde Classic (1.HC) | 199.0km |
| 20-03 | 49 | | Danilith Nokere Koerse (1.HC) | 195.0km |
| 17-03 | DNF | | Ronde van Drenthe (1.HC) | 217.0km |
| 05-03 | DNF | | Le Samyn (1.1) | 198.0km |
| 03-03 | DNF | | Kuurne-Brussel-Kuurne (1.HC) | 201.0km |
| | | Vuelta a Andalucia Ruta Ciclista Del Sol (2.HC) |
| 94 | | Klassement |
| 32 | | Punten |
| 24-02 | 11 | 94 | Stage 5Otura Santa Clara Golf - Alhaurín de la Torre (164.0km) | 164.0km |
| 23-02 | 96 | 103 | Stage 4Armilla - Granada (120.0km) | 120.0km |
| 22-02 | 71 | 103 | Stage 3Mancha Real - La Guardia de Jaén (16.0km) | 16.0km |
| 21-02 | 89 | 105 | Stage 2Sevilla - Torredonjimeno (216.0km) | 216.0km |
| 20-02 | 116 | 116 | Stage 1Sanlúcar de Barrameda - Alcala de los Gazules (164.0km) | 164.0km |
| | | La Tropicale Amissa Bongo (2.1) |
| 2 | | Klassement |
| 3 | | Punten |
| 27-01 | 1 | 2 | Stage 7Nkok - Libreville (140.0km) | 140.0km |
| 26-01 | 3 | 2 | Stage 6Bitam - Oyem (110.0km) | 110.0km |
| 25-01 | 3 | 2 | Stage 5Bitam - Mongomo (120.0km) | 120.0km |
| 24-01 | 1 | 2 | Stage 4Mitzic - Oyem (120.0km) | 120.0km |
| 23-01 | 4 | 6 | Stage 3Léconi - Franceville (100.0km) | 100.0km |
| 22-01 | 12 | 5 | Stage 2Franceville - Okondja (170.0km) | 170.0km |
| 21-01 | 2 | 4 | Stage 1Bongoville - Moanda (100.0km) | 100.0km |