| 12-10 | 20 | | Paris - Tours Espoirs (1.2U) | 176.0km |
| 07-10 | 132 | | Binche - Chimay - Binche / Mémorial Frank Vandenbroucke (1.1) | 203.0km |
| 28-09 | 102 | | Paris-Chauny (1.1) | 188.0km |
| 27-08 | 49 | | Muur Classic Geraardsbergen (1.1) | 177.0km |
| | | Lidl Deutschland Tour (2.Pro) |
| 82 | | Klassement |
| 10 | | Berg |
| 38 | | Jongeren |
| 24-08 | 78 | 82 | Stage 4Halle - Magdeburg (163.0km) | 163.0km |
| 23-08 | 44 | 79 | Stage 3Arnsberg - Kassel (175.0km) | 175.0km |
| 22-08 | 86 | 84 | Stage 2Herford - Arnsberg (190.0km) | 190.0km |
| 21-08 | 83 | 39 | Stage 1Essen - Herford (202.0km) | 202.0km |
| 20-08 | 41 | 41 | PrologueEssen - Essen (3.0km) | 3.0km |
| | | Tour Alsace (2.2) |
| 18 | | Klassement |
| 3 | | Berg |
| 10 | | Jongeren |
| 03-08 | 19 | 18 | Stage 5Ribeauville - Champ du Feu (135.0km) | 135.0km |
| 02-08 | 62 | 16 | Stage 4Ferrette - Altkirch (133.0km) | 133.0km |
| 01-08 | 15 | 16 | Stage 3Velleminfroy - La Planche des Belles Filles (141.0km) | 141.0km |
| 31-07 | 59 | 83 | Stage 2Rust (Europapark) - Selestat (168.0km) | 168.0km |
| 30-07 | 8 | 84 | Stage 1Sausheim - Sausheim (4.0km) | 4.0km |
| 06-07 | DNF | | Midden-Brabant Poort Omloop (1.2) | 173.0km |
| 09-06 | 90 | | Paris - Troyes (1.2) | 180.0km |
| | | Alpes Isère Tour (2.2) |
| 22 | | Klassement |
| 33 | | Punten |
| 5 | | Berg |
| 18 | | Jongeren |
| 01-06 | 23 | 22 | Stage 5Saint-Joseph-de-Rivière - La Mure (181.0km) | 181.0km |
| 31-05 | 15 | 17 | Stage 4Primarette - Saint-Maurice-l'Exil (176.0km) | 176.0km |
| 30-05 | 24 | 21 | Stage 3Colombier-Saugnieu - Jons (159.0km) | 159.0km |
| 29-05 | 20 | 20 | Stage 2Dolomieu - Satolas-et-Bonce (153.0km) | 153.0km |
| 28-05 | 22 | 23 | Stage 1Charvieu-Chavagneux - Charvieu-Chavagneux (135.0km) | 135.0km |
| | | Le Tour de Bretagne Cycliste (2.2) |
| 76 | | Klassement |
| 40 | | Punten |
| 7 | | Berg |
| 28 | | Jongeren |
| 01-05 | 28 | 76 | Stage 7Landébia - Plancoët (159.0km) | 159.0km |
| 30-04 | 48 | 90 | Stage 6Missillac - Le Pertre (178.0km) | 178.0km |
| 29-04 | 108 | 109 | Stage 5Erdeven - Guenrouet (164.0km) | 164.0km |
| 28-04 | 106 | 104 | Stage 4Plonéour-Lanvern - Landévant (204.0km) | 204.0km |
| 27-04 | 68 | 102 | Stage 3Loudéac - Plonéour-Lanvern (212.0km) | 212.0km |
| 26-04 | 103 | 104 | Stage 2La Gouesnière - Le Cambout (182.0km) | 182.0km |
| 25-04 | 109 | 124 | Stage 1Hirel - La Fresnais (144.0km) | 144.0km |
| 19-04 | 28 | | Liège-Bastogne-Liège U23 (1.2U) | 175.0km |
| | | Région Pays de la Loire Tour (2.1) |
| 38 | | Klassement |
| 6 | | Jongeren |
| 11-04 | 24 | 38 | Stage 4Sillé-le-Guillaume - Le Mans (186.0km) | 186.0km |
| 10-04 | 29 | 44 | Stage 3Tiercé - Hambers (165.0km) | 165.0km |
| 09-04 | 72 | 67 | Stage 2La Bernardière - Beaupréau (158.0km) | 158.0km |
| 08-04 | 48 | 48 | Stage 1Machecoul-Saint-Même - La Baule-Escoublac (208.0km) | 208.0km |
| 05-04 | DNF | | Volta NXT Classic (1.1) | 192.0km |
| 19-03 | 65 | | Milano - Torino (1.Pro) | 174.0km |
| 09-03 | DNF | | Grote Prijs Jean - Pierre Monseré (1.1) | 201.0km |
| 08-03 | 97 | | Grand Prix Criquielion (1.1) | 200.0km |