| | | Tour de France (2.HC) |
| 21-07 | 24 | | Stage 22aAuxerre - Melun (136.0km) | 136.0km |
| 21-07 | 45 | 31 | Stage 22bMelun - Paris (55.0km) | 55.0km |
| 20-07 | 4 | | Stage 21Besançon - Auxerre (242.0km) | 242.0km |
| 19-07 | 55 | | Stage 20Sallanches - Besançon (243.0km) | 243.0km |
| 18-07 | 46 | | Stage 19Grenoble - Sallanches (200.0km) | 200.0km |
| 17-07 | 38 | | Stage 18Saint-Étienne - Grenoble (235.0km) | 235.0km |
| 16-07 | 37 | | Stage 17Aurillac - Saint-Étienne (236.0km) | 236.0km |
| 15-07 | 20 | | Stage 16Albi - Aurillac (199.0km) | 199.0km |
| 14-07 | 14 | | Stage 15Font-Romeu - Albi (250.0km) | 250.0km |
| 12-07 | 40 | | Stage 14La Seu d'Urgell - Perpignan (231.0km) | 231.0km |
| 11-07 | 62 | | Stage 13Saint-Gaudens - La Seu d'Urgell (209.0km) | 209.0km |
| 10-07 | 30 | | Stage 12Pau - Saint-Gaudens (226.0km) | 226.0km |
| 09-07 | 56 | 7 | Stage 11Bayonne - Pau (184.0km) | 184.0km |
| 08-07 | 65 | 6 | Stage 10Bordeaux - Bayonne (202.0km) | 202.0km |
| 07-07 | 55 | 6 | Stage 9Royan - Bordeaux (137.0km) | 137.0km |
| 05-07 | 75 | 6 | Stage 8Nantes - Royan (223.0km) | 223.0km |
| 04-07 | 59 | 6 | Stage 7Lorient - Nantes (190.0km) | 190.0km |
| 03-07 | 50 | 6 | Stage 6Dinard - Lorient (188.0km) | 188.0km |
| 02-07 | 6 | 6 | Stage 5aRouen - Bagnoles de l'Orne (165.0km) | 165.0km |
| 02-07 | 83 | 6 | Stage 5bBagnoles de l'Orne - Dinard (155.0km) | 155.0km |
| 01-07 | 70 | | Stage 4Roubaix - Rouen (238.0km) | 238.0km |
| 30-06 | 63 | | Stage 3bVorst - Roubaix (112.0km) | 112.0km |
| 29-06 | 33 | | Stage 2Arlon - Vorst (210.0km) | 210.0km |
| 28-06 | 52 | | Stage 1Vittel - Esch-sur-Alzette (189.0km) | 189.0km |
| 27-06 | 52 | | PrologueVittel - Vittel (6.0km) | 6.0km |
| | | Vuelta a España (2.HC) |
| 25-04 | | 12 | Stage 18 | |
| 25-02 | 8 | | World Championship Cyclocross (CM) | |
| 11-02 | 1 | | French National Championships CX (CN) | |