| 23-09 | 11 | | Tour du Gévaudan Occitanie (1.2) | |
| 16-09 | 117 | | Coppa Bernocchi (1.1) | 194.0km |
| 15-09 | 25 | | Coppa Agostoni (1.1) | 191.0km |
| 09-09 | 11 | | Tour du Doubs (1.1) | |
| 26-08 | 24 | | Bretagne Classic - Ouest-France (1.UWT) | 256.0km |
| | | Tour du Poitou Charentes (2.1) |
| 17 | | Standings |
| 11 | | Points |
| 24-08 | 5 | 17 | Stage 5Brioux-sur-Boutonne - Poitiers | 156.0km |
| 23-08 | 26 | 20 | Stage 4Champagné-Saint-Hilaire - Couhe | 22.0km |
| 23-08 | 13 | 25 | Stage 3Gença - Couhe | 97.0km |
| 22-08 | 18 | 29 | Stage 2Segonzac - Melle | 189.0km |
| 21-08 | 50 | 53 | Stage 1Jonzac - Cognac | 192.0km |
| | | Tour du Limousin (2.1) |
| 8 | | Standings |
| 10 | | Mountain |
| 18-08 | 19 | 8 | Stage 4Bellac - Limoges | 163.0km |
| 17-08 | 5 | 8 | Stage 3Egletons - Uzerche | 190.0km |
| 16-08 | 18 | 15 | Stage 2Rouffiac - Coteau de Grèzes | 176.0km |
| 15-08 | 5 | 7 | Stage 1Saint-Just-le-Martel - Bonnat | 172.0km |
| 12-08 | 2 | | 75e Criterium Cycliste International Quillan (Cri) | |
| 08-08 | 3 | | Criterium Cycliste Int. de Marcoles (Cri) | |
| | | Tour de France (2.UWT) |
| 30 | | Standings |
| 19 | | Points |
| 22 | | Mountain |
| 29-07 | 38 | 30 | Stage 21Houilles - Paris | 115.0km |
| 28-07 | 53 | 30 | Stage 20Saint-Pée-sur-Nivelle - Espelette | 31.0km |
| 27-07 | 76 | 29 | Stage 19Lourdes - Laruns | 200.0km |
| 26-07 | 18 | 24 | Stage 18Trie-sur-Baïse - Pau | 172.0km |
| 25-07 | 55 | 27 | Stage 17Bagnères-de-Luchon - Saint-Lary-Soulan (Pla d'Adet) | 65.0km |
| 24-07 | 53 | 25 | Stage 16Carcassonne - Bagnères-de-Luchon | 218.0km |
| 22-07 | 7 | 20 | Stage 15Millau - Carcassonne | 181.0km |
| 21-07 | 8 | 24 | Stage 14Saint-Paul-Trois-Châteaux - Mende | 187.0km |
| 20-07 | 32 | 30 | Stage 13Bourg-d'Oisans - Valence | 169.0km |
| 19-07 | 96 | 34 | Stage 12Bourg-Saint-Maurice - L'Alpe-d'Huez | 175.0km |
| 18-07 | 64 | 28 | Stage 11Albertville - La Rosière-Montvalezan | 108.0km |
| 17-07 | 6 | 21 | Stage 10Annecy - Le Grand-Bornand | 159.0km |
| 15-07 | 17 | 28 | Stage 9Arras - Roubaix | 154.0km |
| 14-07 | 87 | 40 | Stage 8Dreux - Amiens | 181.0km |
| 13-07 | 87 | 42 | Stage 7Fougères - Chartres | 231.0km |
| 12-07 | 50 | 42 | Stage 6Brest - Mûr-de-Bretagne | 181.0km |
| 11-07 | 87 | 49 | Stage 5Lorient - Quimper | 203.0km |
| 10-07 | 12 | 40 | Stage 4La Baule - Sarzeau | 192.0km |
| 09-07 | 18 | 49 | Stage 3Cholet - Cholet | 35.0km |
| 08-07 | 45 | 35 | Stage 2Mouilleron-Saint-Germain - La Roche-sur-Yon | 183.0km |
| 07-07 | 46 | 46 | Stage 1Noirmoutier-en-l'Île - Fontenay-le-Comte | 189.0km |
| 01-07 | 24 | | National Road Championships - France (CN) | 253.0km |
| | | Tour de Suisse (2.UWT) |
| 31 | | Standings |
| 31 | | Points |
| 17-06 | 57 | 31 | Stage 9Bellinzona - Bellinzona | 34.0km |
| 16-06 | 79 | 32 | Stage 8Bellinzona - Bellinzona | 123.0km |
| 15-06 | 34 | 33 | Stage 7Eschenbach - Arosa | 170.0km |
| 14-06 | 39 | 36 | Stage 6Fiesch - Gommiswald | 186.0km |
| 13-06 | 40 | 37 | Stage 5Gstaad - Leukerbad | 155.0km |
| 12-06 | 27 | 41 | Stage 4Gansingen - Gstaad | 189.0km |
| 11-06 | 14 | 43 | Stage 3Oberstammheim - Gansingen | 182.0km |
| 10-06 | 14 | 52 | Stage 2Frauenfeld - Frauenfeld | 155.0km |
| 09-06 | | 92 | Stage 1Frauenfeld - Frauenfeld | 18.0km |
| | | Tour de l'Ain (2.1) |
| 9 | | Standings |
| 7 | | Points |
| 20-05 | 13 | 9 | Stage 3Lélex - Col de la Faucille | 133.0km |
| 19-05 | 13 | 13 | Stage 2Courtes - Arbent | 153.0km |
| 18-05 | 3 | 3 | Stage 1Saint-Vulbas - Montrevel-en-Bresse | 162.0km |
| 22-04 | 52 | | Liège-Bastogne-Liège (1.UWT) | 258.0km |
| 14-04 | 10 | | Tour du Finistère (1.1) | 190.0km |
| 10-04 | 1 | | Paris-Camembert (1.1) | 196.0km |
| | | Circuit Cycliste Sarthe-Pays de la Loire (2.1) |
| 15 | | Standings |
| 12 | | Points |
| 06-04 | 30 | 15 | Stage 4Brûlon - Sablé-sur-Sarthe | 183.0km |
| 05-04 | 5 | 13 | Stage 3Abbaye de l'Epau - Pré-en-Pail-Saint-Samson | 199.0km |
| 04-04 | 9 | 33 | Stage 2Riaillé - Ancenis | 183.0km |
| 03-04 | 65 | 65 | Stage 1Abbaye de l'Epau - Baugé-en-Anjou | 193.0km |
| 31-03 | 8 | | Gran Premio Miguel Indurain (1.1) | |
| 24-03 | 47 | | Classic Loire Atlantique (1.1) | |
| | | Paris-Nice (2.UWT) |
| 11-03 | DNF | | Stage 8Nice - Nice | 110.0km |
| 10-03 | 44 | 27 | Stage 7Nice - Valdeblore La Colmiane | 175.0km |
| 09-03 | 18 | 17 | Stage 6Sisteron - Vence | 198.0km |
| 08-03 | 41 | 13 | Stage 5Salon-de-Provence - Sisteron | 165.0km |
| 07-03 | 14 | 13 | Stage 4La Fouillouse - Saint-Étienne | 18.0km |
| 06-03 | 21 | 20 | Stage 3Bourges - Châtel-Guyon | 210.0km |
| 05-03 | 49 | 28 | Stage 2Orsonville - Vierzon | 187.0km |
| 04-03 | 26 | 26 | Stage 1Chatou - Meudon | 135.0km |
| 25-02 | 1 | | Royal Bernard Drome Classic (1.1) | |
| 24-02 | 3 | | Classic de l'Ardèche Rhône Crussol (1.1) | |
| | | 3ème Tour Cycliste International La Provence (2.1) |
| 5 | | Standings |
| 3 | | Points |
| 10 | | Mountain |
| 11-02 | 26 | 5 | Stage 3Aix-en-Provence - Marseille | 167.0km |
| 10-02 | 2 | 5 | Stage 2La Ciotat - Gemenos | 153.0km |
| 09-02 | 5 | 15 | Stage 1Aubagne - Istres | 184.0km |
| 08-02 | 15 | 15 | PrologueLe Castellet - Le Castellet | 5.0km |
| | | Etoile de Bessèges (2.1) |
| 6 | | Standings |
| 25 | | Points |
| 8 | | Mountain |
| 04-02 | 6 | 6 | Stage 5Alès - Alès | 10.0km |
| 03-02 | 14 | 12 | Stage 4Chusclan - Laudun-l'Ardoise | 153.0km |
| 02-02 | 27 | 18 | Stage 3Bessèges - Bessèges | 152.0km |
| 01-02 | 22 | 18 | Stage 2Nîmes - Générac | 151.0km |
| 31-01 | 11 | 14 | Stage 1Bellegarde - Beaucaire | 162.0km |
| 28-01 | 3 | | Grand Prix Cycliste la Marseillaise (1.1) | 145.0km |