| | | Tour Poitou - Charentes (2.1) |
| 27-08 | DNF | | Stage 5Villefagnan - Poitiers (166.0km) | 166.0km |
| 26-08 | 71 | 32 | Stage 4Monts-sur-Guesnes - Loudun (23.0km) | 23.0km |
| 26-08 | 7 | 4 | Stage 3Moncontour - Loudun (109.0km) | 109.0km |
| 25-08 | 5 | 4 | Stage 2Parthenay - Ruffec (193.0km) | 193.0km |
| 24-08 | 3 | 3 | Stage 1Pons - Parthenay (198.0km) | 198.0km |
| | | Vuelta a Burgos (2.Pro) |
| 07-08 | DNF | | Stage 5Comunero de Revenga - Lagunas de Neila (146.0km) | 146.0km |
| 06-08 | 6 | 85 | Stage 4Roa - Aranda de Duero (149.0km) | 149.0km |
| 05-08 | 117 | 91 | Stage 3Busto de Bureba - Espinosa de los Monteros (173.0km) | 173.0km |
| 04-08 | 9 | 60 | Stage 2Tardajos - Briviesca (175.0km) | 175.0km |
| 03-08 | 61 | 61 | Stage 1Burgos - Burgos (161.0km) | 161.0km |
| | | Ethias Tour de Wallonie (2.Pro) |
| 75 | | Klassement |
| 23 | | Punten |
| 24-07 | 11 | 75 | Stage 5Dinant - Quaregnon (183.0km) | 183.0km |
| 23-07 | 74 | 91 | Stage 4Neufchâteau - Fleurus (206.0km) | 206.0km |
| 22-07 | 109 | 95 | Stage 3Plombières - Erezee (179.0km) | 179.0km |
| 21-07 | 6 | 22 | Stage 2Heusden-Zolder - Heusden-Zolder (120.0km) | 120.0km |
| 20-07 | 17 | 23 | Stage 1Genappe - Héron (185.0km) | 185.0km |
| 20-06 | 117 | | National Road Championships - France (CN) | 242.0km |
| | | Tour de Suisse (2.UWT) |
| 104 | | Klassement |
| 13-06 | 117 | 104 | Stage 8Andermatt - Andermatt (118.0km) | 118.0km |
| 12-06 | 116 | 106 | Stage 7Sedrun - Andermatt (23.0km) | 23.0km |
| 11-06 | 80 | 110 | Stage 6Fiesch - Sedrun (162.0km) | 162.0km |
| 10-06 | 99 | 123 | Stage 5Gstaad - Leukerbad (172.0km) | 172.0km |
| 09-06 | 128 | 128 | Stage 4Sankt Urban - Gstaad (171.0km) | 171.0km |
| 08-06 | 63 | 130 | Stage 3Lachen - Pfaffnau (185.0km) | 185.0km |
| 07-06 | 155 | 153 | Stage 2Neuhausen am Rheinfall - Lachen (173.0km) | 173.0km |
| 06-06 | 138 | 138 | Stage 1Frauenfeld - Frauenfeld (10.0km) | 10.0km |
| | | Boucles de la Mayenne (2.Pro) |
| 10 | | Klassement |
| 14 | | Punten |
| 30-05 | 9 | 10 | Stage 4Méral - Laval (181.0km) | 181.0km |
| 29-05 | 23 | 10 | Stage 3Saint-Berthevin - Craon (182.0km) | 182.0km |
| 28-05 | 37 | 8 | Stage 2Vaiges - Évron (173.0km) | 173.0km |
| 27-05 | 7 | 7 | Stage 1Le Genest-Saint-Isle - Ambrières-les-Vallées (175.0km) | 175.0km |
| 16-05 | DNF | | Tro-Bro Léon (1.Pro) | 207.0km |
| 13-05 | 2 | | Circuit de Wallonie (1.1) | 190.0km |
| | | Volta ao Algarve em Bicicleta (2.Pro) |
| 112 | | Klassement |
| 09-05 | 118 | 112 | Stage 5Albufeira - Malhão (170.0km) | 170.0km |
| 08-05 | 72 | 107 | Stage 4Lagoa - Lagoa (20.0km) | 20.0km |
| 07-05 | 11 | 106 | Stage 3Faro - Tavira (203.0km) | 203.0km |
| 06-05 | 136 | 110 | Stage 2Sagres - Fóia (192.0km) | 192.0km |
| 05-05 | 16 | 16 | Stage 1Lagos - Portimão (189.0km) | 189.0km |
| 07-04 | 9 | | Scheldeprijs (1.Pro) | 194.0km |
| 04-04 | 3 | | La Roue Tourangelle (1.1) | 204.0km |
| 28-03 | 5 | | Cholet - Pays de la Loire (1.1) | 201.0km |
| 24-03 | 43 | | Oxyclean Classic Brugge-De Panne (1.UWT) | 203.0km |
| 17-03 | 19 | | Danilith Nokere Koerse (1.Pro) | 195.0km |
| 02-03 | 104 | | Le Samyn (1.1) | 205.0km |
| 28-02 | DNF | | Kuurne-Brussel-Kuurne (1.Pro) | 197.0km |
| 14-02 | 9 | | Clasica de Almeria (1.Pro) | 183.0km |
| | | Etoile de Bessèges (2.1) |
| 88 | | Klassement |
| 27 | | Punten |
| 07-02 | 62 | 88 | Stage 5Alès - Alès (11.0km) | 11.0km |
| 06-02 | 39 | 90 | Stage 4Rousson - Saint-Siffret (152.0km) | 152.0km |
| 05-02 | 135 | 103 | Stage 3Bessèges - Bessèges (156.0km) | 156.0km |
| 04-02 | 7 | 47 | Stage 2Saint-Geniès - La Calmette (154.0km) | 154.0km |
| 03-02 | 95 | 95 | Stage 1Bellegarde - Bellegarde (141.0km) | 141.0km |