| 10-10 | 54 | | Paris - Tours Elite (1.Pro) | 212.0km |
| 03-10 | 6 | | Paris-Roubaix (1.UWT) | 257.0km |
| 26-09 | DNF | | UCI World Championship Flanders (CM) | 268.0km |
| 19-09 | 7 | | Eschborn-Frankfurt (1.UWT) | 187.0km |
| 15-09 | 1 | | Grand Prix de Wallonie (1.Pro) | 208.0km |
| | | Benelux Tour (2.UWT) |
| 23 | | Klassement |
| 4 | | Punten |
| 05-09 | 4 | 23 | Stage 7Namur - Geraardsbergen (178.0km) | 178.0km |
| 04-09 | 49 | 25 | Stage 6Ottignies - Houffalize (207.0km) | 207.0km |
| 03-09 | 9 | 3 | Stage 5Riemst - Bilzen (188.0km) | 188.0km |
| 02-09 | 5 | 6 | Stage 4Aalter - Ardooie (166.0km) | 166.0km |
| 01-09 | 23 | 7 | Stage 3Essen - Hoogerheide (168.0km) | 168.0km |
| 31-08 | 9 | 6 | Stage 2Lelystad - Lelystad (11.0km) | 11.0km |
| 30-08 | 10 | 15 | Stage 1Surhuisterveen - Dokkum (169.0km) | 169.0km |
| 26-08 | DNF | | Druivenkoers - Overijse (1.1) | |
| | | Tour du Limousin (2.1) |
| 24 | | Klassement |
| 23 | | Berg |
| 20-08 | 50 | 24 | Stage 4Sauviat-sur-Vige - Limoges (169.0km) | 169.0km |
| 19-08 | 24 | 11 | Stage 3Bugeat - Lubersac (184.0km) | 184.0km |
| 18-08 | 17 | 7 | Stage 2Agonac - Payzac (172.0km) | 172.0km |
| 17-08 | 1 | 1 | Stage 1Isle - Sainte-Feyre (183.0km) | 183.0km |
| 15-08 | 12 | | La Polynormande (1.1) | 168.0km |
| | | Tour de France (2.UWT) |
| 91 | | Klassement |
| 29 | | Punten |
| 18-07 | 37 | 91 | Stage 21Chatou - Paris (108.0km) | 108.0km |
| 17-07 | 38 | 92 | Stage 20Libourne - Saint-Émilion (30.0km) | 30.0km |
| 16-07 | 2 | 93 | Stage 19Mourenx - Libourne (207.0km) | 207.0km |
| 15-07 | 118 | 109 | Stage 18Pau - Luz-Ardiden (129.0km) | 129.0km |
| 14-07 | 83 | 107 | Stage 17Muret - Saint-Lary-Soulan (Pla d'Adet) (178.0km) | 178.0km |
| 13-07 | 119 | 109 | Stage 16El Pas de la Casa - Saint-Gaudens (169.0km) | 169.0km |
| 11-07 | 104 | 108 | Stage 15Céret - Andorra La Vella (191.0km) | 191.0km |
| 10-07 | 95 | 110 | Stage 14Carcassonne - Quillan (183.0km) | 183.0km |
| 09-07 | 7 | 112 | Stage 13Nîmes - Carcassonne (219.0km) | 219.0km |
| 08-07 | 89 | 117 | Stage 12Saint-Paul-Trois-Châteaux - Nîmes (159.0km) | 159.0km |
| 07-07 | 118 | 117 | Stage 11Sorgues - Malaucène (198.0km) | 198.0km |
| 06-07 | 14 | 105 | Stage 10Albertville - Valence (190.0km) | 190.0km |
| 04-07 | 83 | 108 | Stage 9Cluses - Tignes (144.0km) | 144.0km |
| 03-07 | 114 | 110 | Stage 8Oyonnax - Le Grand-Bornand (150.0km) | 150.0km |
| 02-07 | 102 | 102 | Stage 7Vierzon - Le Creusot (249.0km) | 249.0km |
| 01-07 | 22 | 95 | Stage 6Tours - Châteauroux (160.0km) | 160.0km |
| 30-06 | 160 | 97 | Stage 5Change - Laval (27.0km) | 27.0km |
| 29-06 | 7 | 93 | Stage 4Redon - Fougères (150.0km) | 150.0km |
| 28-06 | 127 | 98 | Stage 3Lorient - Noyal-Pontivy (182.0km) | 182.0km |
| 27-06 | 120 | 99 | Stage 2Perros-Guirec - Mûr-de-Bretagne (183.0km) | 183.0km |
| 26-06 | 50 | 50 | Stage 1Brest - Landerneau (197.0km) | 197.0km |
| 20-06 | 75 | | National Road Championships - France (CN) | 242.0km |
| 17-06 | 5 | | National Road Championships - France TT (CN) | 45.0km |
| | | Tour de Suisse (2.UWT) |
| 12-06 | DNS | | Stage 7Sedrun - Andermatt (23.0km) | 23.0km |
| 11-06 | 90 | 72 | Stage 6Fiesch - Sedrun (162.0km) | 162.0km |
| 10-06 | 66 | 66 | Stage 5Gstaad - Leukerbad (172.0km) | 172.0km |
| 09-06 | 99 | 48 | Stage 4Sankt Urban - Gstaad (171.0km) | 171.0km |
| 08-06 | 2 | 43 | Stage 3Lachen - Pfaffnau (185.0km) | 185.0km |
| 07-06 | 52 | 52 | Stage 2Neuhausen am Rheinfall - Lachen (173.0km) | 173.0km |
| 06-06 | 34 | 34 | Stage 1Frauenfeld - Frauenfeld (10.0km) | 10.0km |
| 16-05 | 9 | | Tro-Bro Léon (1.Pro) | 207.0km |
| 13-05 | 1 | | Circuit de Wallonie (1.1) | 190.0km |
| 14-04 | 18 | | De Brabantse Pijl (1.Pro) | 201.0km |
| 04-04 | 11 | | Ronde van Vlaanderen (1.UWT) | 254.0km |
| 31-03 | 2 | | Dwars door Vlaanderen (1.UWT) | 184.0km |
| 28-03 | 78 | | Gent-Wevelgem in Flanders Fields (1.UWT) | 247.0km |
| 20-03 | 22 | | Milano-Sanremo (1.UWT) | 299.0km |
| | | Paris-Nice (2.UWT) |
| 65 | | Klassement |
| 3 | | Punten |
| 14-03 | 2 | 65 | Stage 8Le Plan-du-Var - Levens (93.0km) | 93.0km |
| 13-03 | 102 | 78 | Stage 7Le Broc - Valdeblore La Colmiane (119.0km) | 119.0km |
| 12-03 | 2 | 70 | Stage 6Brignoles - Biot (202.0km) | 202.0km |
| 11-03 | 8 | 90 | Stage 5Vienne - Bollène (203.0km) | 203.0km |
| 10-03 | 99 | 92 | Stage 4Châlon-sur-Saône - Chiroubles (188.0km) | 188.0km |
| 09-03 | 7 | 8 | Stage 3Gien - Gien (14.0km) | 14.0km |
| 08-03 | 11 | 18 | Stage 2Oinville-sur-Montcient - Amilly (188.0km) | 188.0km |
| 07-03 | 8 | 12 | Stage 1Saint-Cyr-l'École - Saint-Cyr-l'École (166.0km) | 166.0km |
| 28-02 | DNF | | Kuurne-Brussel-Kuurne (1.Pro) | 197.0km |
| 27-02 | 13 | | Omloop Het Nieuwsblad Elite (1.UWT) | 200.0km |
| | | 53ème Tour des Alpes Maritimes et du Var
(2.1) |
| 61 | | Klassement |
| 26 | | Punten |
| 21-02 | 67 | 61 | Stage 3Blausasc - Blausasc (136.0km) | 136.0km |
| 20-02 | 11 | 57 | Stage 2Fayence - Fayence (175.0km) | 175.0km |
| 19-02 | 71 | 71 | Stage 1Biot - Gourdon (186.0km) | 186.0km |
| | | Etoile de Bessèges (2.1) |
| 16 | | Klassement |
| 1 | | Punten |
| 07-02 | 5 | 16 | Stage 5Alès - Alès (11.0km) | 11.0km |
| 06-02 | 2 | 16 | Stage 4Rousson - Saint-Siffret (152.0km) | 152.0km |
| 05-02 | 62 | 16 | Stage 3Bessèges - Bessèges (156.0km) | 156.0km |
| 04-02 | 5 | 1 | Stage 2Saint-Geniès - La Calmette (154.0km) | 154.0km |
| 03-02 | 1 | 1 | Stage 1Bellegarde - Bellegarde (141.0km) | 141.0km |
| 31-01 | 34 | | Grand Prix Cycliste la Marseillaise (1.1) | 171.0km |