| 21-10 | 5 | | Chrono des Herbiers (1.3) | 48.0km |
| 14-10 | 69 | | UCI World Championship Lisboa (CM) | 254.0km |
| 11-10 | 34 | | UCI World Championship Lisboa TT (CM) | 39.0km |
| 04-10 | 1 | | Paris-Bourges (1.3) | |
| 22-09 | 5 | | GP Des Nations (1.1) | 75.0km |
| | | Tour de l'Avenir (2.5) |
| 2 | | Klassement |
| 15-09 | 4 | 2 | Stage 10Montbenoît - Morteau (135.0km) | 135.0km |
| 14-09 | | 1 | Stage 9Belfort - Montbenoît (175.0km) | 175.0km |
| 13-09 | 4 | 1 | Stage 8Gérardmer - Belfort (130.0km) | 130.0km |
| 12-09 | 2 | 2 | Stage 7Rambervillers - Rambervillers (26.0km) | 26.0km |
| 11-09 | 4 | | Stage 6Ancerville - Gérardmer (193.0km) | 193.0km |
| | | Tour du Limousin (2.3) |
| 4 | | Klassement |
| 24-08 | 7 | 4 | Stage 4La Souterraine - Limoges (173.0km) | 173.0km |
| 23-08 | 4 | | Stage 3Ussel - La Souterraine (193.0km) | 193.0km |
| 22-08 | 2 | | Stage 2Saint-Just-le-Martel - Ussel (166.0km) | 166.0km |
| 11-08 | 101 | | Clásica Ciclista San Sebastián (CDM) | 227.0km |
| 04-08 | 1 | | EnBW GP (1.2) | 72.0km |
| | | Tour de France (GT) |
| 100 | | Klassement |
| 99 | | Punten |
| 11 | | Jongeren |
| 29-07 | 124 | 100 | Stage 20Corbeil-Essonnes - Paris (160.0km) | 160.0km |
| 28-07 | 74 | 100 | Stage 19Orléans - Évry (149.0km) | 149.0km |
| 27-07 | 80 | 102 | Stage 18Montluçon - Saint-Amand-Montrond (61.0km) | 61.0km |
| 26-07 | 111 | 99 | Stage 17Brive-la-Gaillarde - Montluçon (194.0km) | 194.0km |
| 25-07 | 76 | 101 | Stage 16Castelsarrasin - Sarran (227.0km) | 227.0km |
| 24-07 | 140 | 104 | Stage 15Pau - Lavaur (232.0km) | 232.0km |
| 22-07 | 103 | 103 | Stage 14Tarbes - Luz-Ardiden (141.0km) | 141.0km |
| 21-07 | 112 | 102 | Stage 13Foix - Saint-Lary-Soulan (Pla d'Adet) (194.0km) | 194.0km |
| 20-07 | 137 | 102 | Stage 12Perpignan - Ax-les-Thermes (166.0km) | 166.0km |
| 18-07 | 148 | 93 | Stage 11Grenoble - Chamrousse (32.0km) | 32.0km |
| 17-07 | 151 | 85 | Stage 10Aix-les-Bains - L'Alpe-d'Huez (209.0km) | 209.0km |
| 16-07 | 117 | 67 | Stage 9Pontarlier - Aix-les-Bains (185.0km) | 185.0km |
| 15-07 | 27 | 60 | Stage 8Colmar - Pontarlier (222.0km) | 222.0km |
| 14-07 | 101 | 51 | Stage 7Strasbourg - Colmar (162.0km) | 162.0km |
| 13-07 | 76 | 11 | Stage 6Commercy - Strasbourg (211.0km) | 211.0km |
| 12-07 | 3 | 11 | Stage 5Verdun - Bar-le-Duc (67.0km) | 67.0km |
| 11-07 | 28 | 9 | Stage 4Huy - Verdun (215.0km) | 215.0km |
| 10-07 | 65 | 10 | Stage 3Antwerpen - Seraing (198.0km) | 198.0km |
| 09-07 | 46 | 13 | Stage 2Calais - Antwerpen (218.0km) | 218.0km |
| 08-07 | 112 | 6 | Stage 1Saint-Omer - Boulogne-sur-Mer (194.0km) | 194.0km |
| 07-07 | 5 | 5 | PrologueDunkerque - Dunkerque (8.0km) | 8.0km |
| 28-06 | 1 | | National Road Championships - France TT (CN) | 43.0km |
| | | Critérium du Dauphiné Libéré (2.HC) |
| 14-06 | 9 | | Stage 4Beaumes-de-Venise - Valréas (43.0km) | 43.0km |
| | | GP du Midi-Libre (2.1) |
| 24-05 | 4 | | Stage 3Montpellier - Montpellier (19.0km) | 19.0km |
| 15-04 | 38 | | Paris-Roubaix (CDM) | 254.0km |
| 08-04 | 7 | | GP de la Ville de Rennes (1.4) | 195.0km |
| 06-04 | 6 | | Route Adélie de Vitre (1.3) | 185.0km |
| | | Critérium International (2.1) |
| 7 | | Klassement |
| 01-04 | 6 | 7 | Stage 3Charleville-Mézières - Les Mazures (8.0km) | 8.0km |
| 31-03 | 4 | | Stage 1Charleville-Mézières - Charleville-Mézières (191.0km) | 191.0km |
| 25-03 | 1 | | Cholet - Pays De Loire (1.2) | |
| | | Paris-Nice (2.HC) |
| 25 | | Klassement |
| 18-03 | | 25 | Stage 7Nice - Nice (157.0km) | 157.0km |
| 12-03 | | 4 | Stage 1Saint-Amand-Montrond - Clermont-Ferrand (189.0km) | 189.0km |
| 11-03 | 3 | 3 | PrologueNevers - Nevers (6.0km) | 6.0km |
| 03-03 | DNF | | Omloop Het Volk (1.1) | 200.0km |
| 24-02 | 10 | | Tour du Haut Var (1.2) | 180.0km |
| | | Etoile de Bessèges (2.4) |
| 11-02 | 1 | | Stage 5Bessèges - Bessèges (141.0km) | 141.0km |
| 06-02 | 3 | | Grand Prix Cycliste la Marseillaise (1.4) | 151.0km |