| | | Tour de France (2.HC) |
| 22-07 | DNF | | Stage 20Dijon - Dijon (50.0km) | 50.0km |
| 21-07 | 55 | | Stage 19Saint-Trivier-sur-Moignans - Dijon (171.0km) | 171.0km |
| 20-07 | 24 | | Stage 18Voiron - Saint-Étienne (199.0km) | 199.0km |
| 19-07 | 33 | | Stage 17Chamonix - L'Alpe-d'Huez (185.0km) | 185.0km |
| 18-07 | 17 | | Stage 16Morzine - Chamonix (121.0km) | 121.0km |
| 17-07 | 47 | | Stage 15bMorzine - Avoriaz (14.0km) | 14.0km |
| 17-07 | 46 | | Stage 15aThonon-les-Bains - Morzine (105.0km) | 105.0km |
| 16-07 | 25 | | Stage 14Besançon - Thonon-les-Bains (230.0km) | 230.0km |
| 15-07 | 36 | | Stage 13aFreiburg im Breisgau - Freiburg im Breisgau (46.0km) | 46.0km |
| 15-07 | 34 | | Stage 13bAltkirch - Besançon (159.0km) | 159.0km |
| 13-07 | 59 | | Stage 12Roubaix - Charleroi (193.0km) | 193.0km |
| 12-07 | 90 | | Stage 11Rouen - Roubaix (242.0km) | 242.0km |
| 11-07 | 44 | | Stage 10Bagnoles de l'Orne - Rouen (174.0km) | 174.0km |
| 10-07 | 62 | | Stage 9Lorient - Rennes (187.0km) | 187.0km |
| 09-07 | 64 | | Stage 8Angers - Lorient (246.0km) | 246.0km |
| 08-07 | 84 | | Stage 7aJaunay-Clan - Angers (139.0km) | 139.0km |
| 07-07 | 54 | | Stage 6Bordeaux - Limoges (225.0km) | 225.0km |
| 05-07 | 20 | | Stage 5bBordeaux - Bordeaux (30.0km) | 30.0km |
| 05-07 | 57 | | Stage 5aMorcenx - Bordeaux (138.0km) | 138.0km |
| 04-07 | 8 | | Stage 4Vitoria-Gasteiz - Seignosse - Le Penon (256.0km) | 256.0km |
| 03-07 | 50 | | Stage 3Oloron-Sainte-Marie - Vitoria-Gasteiz (248.0km) | 248.0km |
| 02-07 | 27 | | Stage 2Auch - Pau (253.0km) | 253.0km |
| 01-07 | 52 | | Stage 1Fleurance - Auch (237.0km) | 237.0km |
| 30-06 | 31 | | PrologueFleurance - Fleurance (5.0km) | 5.0km |
| 26-06 | 6 | | National Road Championships - France (CN) | 248.0km |
| | | Tour de Romandie (2.1) |
| 11 | | Klassement |
| 15-05 | | 11 | Stage 5Lausanne - Genève (141.0km) | 141.0km |
| 09-04 | 39 | | Amstel Gold Race (CDM) | 230.0km |
| 27-03 | 13 | | Criterium International (1.2) | 237.0km |