| 28-09 | DNF | | UCI World Championship Kigali (CM) | 267.0km |
| 21-09 | 18 | | UCI World Championship Kigali TT (CM) | 40.0km |
| | | Vuelta a España (2.UWT) |
| 02-09 | DNF | | Stage 10Sendaviva - El Ferial Larra Belagua | 175.0km |
| 31-08 | 5 | 14 | Stage 9Alfaro - Estación de Esquí de Valdezcaray | 195.0km |
| 30-08 | 47 | 15 | Stage 8Monzón Templario - Zaragoza | 163.0km |
| 29-08 | 3 | 15 | Stage 7Andorra La Vella - Cerler | 188.0km |
| 28-08 | 29 | 27 | Stage 6Olot - Pal Andorra | 170.0km |
| 27-08 | 12 | 39 | Stage 5Figueres - Figueres | 24.0km |
| 26-08 | 57 | 45 | Stage 4Susa - Voiron | 206.0km |
| 25-08 | 54 | 48 | Stage 3San Maurizio Canavese - Ceres | 134.0km |
| 24-08 | 56 | 57 | Stage 2Alba - Puerto Limone | 159.0km |
| 23-08 | 48 | 50 | Stage 1Torino - Novara | 186.0km |
| | | Tour de France (2.UWT) |
| 26 | | Standings |
| 90 | | Points |
| 5 | | Youth |
| 27-07 | 128 | 26 | Stage 21Mantes-la-Ville - Paris | 132.0km |
| 26-07 | 39 | 26 | Stage 20Nantua - Pontarlier | 184.0km |
| 25-07 | 25 | 29 | Stage 19Albertville - La Plagne | 93.0km |
| 24-07 | 44 | 30 | Stage 18Vif - Courchevel Col de la Loze | 171.0km |
| 23-07 | 76 | 33 | Stage 17Bollène - Valence | 160.0km |
| 22-07 | 19 | 33 | Stage 16Montpellier - Mont Ventoux | 171.0km |
| 20-07 | 53 | 36 | Stage 15Muret - Carcassonne | 169.0km |
| 19-07 | 26 | 35 | Stage 14Pau - Luchon-Superbagnères | 182.0km |
| 18-07 | 123 | 52 | Stage 13Loudenvielle-Le Louron - Peyragudes | 10.0km |
| 17-07 | 12 | 50 | Stage 12Auch - Hautacam | 180.0km |
| 16-07 | 111 | 83 | Stage 11Toulouse - Toulouse | 156.0km |
| 14-07 | 79 | 77 | Stage 10Ennezat - Le Mont-Dore Puy de Sancy | 165.0km |
| 13-07 | 160 | 76 | Stage 9Chinon - Châteauroux | 174.0km |
| 12-07 | 111 | 71 | Stage 8Saint-Méen-le-Grand - Laval | 171.0km |
| 11-07 | 34 | 73 | Stage 7Saint-Malo - Mûr-de-Bretagne | 197.0km |
| 10-07 | 77 | 89 | Stage 6Bayeux - Vire-Normandie | 201.0km |
| 09-07 | 17 | 118 | Stage 5Caen - Caen | 33.0km |
| 08-07 | 146 | 136 | Stage 4Amiens - Rouen | 174.0km |
| 07-07 | 82 | 112 | Stage 3Valenciennes - Dunkerque | 178.0km |
| 06-07 | 77 | 113 | Stage 2Lauwin-Planque - Boulogne-sur-Mer | 209.0km |
| 05-07 | 148 | 150 | Stage 1Lille - Lille | 184.0km |
| 29-06 | DNF | | National Road Championships - Spain (CN) | 191.0km |
| 27-06 | 3 | | National Road Championships - Spain TT (CN) | 14.0km |
| | | La Route d'Occitanie - CIC (2.1) |
| 55 | | Standings |
| 8 | | Points |
| 13 | | Mountain |
| 20 | | Youth |
| 21-06 | 39 | 55 | Stage 4Saint-Gaudens - Saint-Girons | 128.0km |
| 20-06 | 80 | 73 | Stage 3Pujaudran - Luz-Ardiden | 173.0km |
| 19-06 | 30 | 1 | Stage 2Gignac - Carmaux | 195.0km |
| 18-06 | 1 | 1 | Stage 1Saint-Affrique - Roquefortf | 10.0km |
| | | 4 Jours de Dunkerque (2.Pro) |
| 26 | | Standings |
| 26 | | Points |
| 14 | | Youth |
| 18-05 | 79 | 26 | Stage 5Worhmout - Dunkerque | 185.0km |
| 17-05 | 15 | 25 | Stage 4La Chapelle-d'Armentières - Cassel | 172.0km |
| 16-05 | 72 | 56 | Stage 3Valenciennes - Famars | 154.0km |
| 15-05 | 41 | 41 | Stage 2Avesnes-sur-Helpe - Crépy-en-Valois | 178.0km |
| 14-05 | 48 | 50 | Stage 1Sainte-Catherine - Amiens | 177.0km |
| | | Tour de Romandie (2.UWT) |
| 39 | | Standings |
| 30 | | Points |
| 23 | | Mountain |
| 15 | | Youth |
| 04-05 | 6 | 39 | Stage 5Genève - Genève | 17.0km |
| 03-05 | 36 | 39 | Stage 4Sion - Thyon | 128.0km |
| 02-05 | 36 | 51 | Stage 3Cossonay - Cossonay | 183.0km |
| 01-05 | 76 | 56 | Stage 2La Grande Béroche - La Grande Béroche | 157.0km |
| 30-04 | 34 | 28 | Stage 1Münchenstein - Fribourg | 194.0km |
| 29-04 | 40 | 40 | PrologueSaint-Imier - Saint-Imier | 3.0km |
| 27-04 | 97 | | Liège-Bastogne-Liège (1.UWT) | 252.0km |
| 23-04 | 31 | | La Flèche Wallonne (1.UWT) | 205.0km |
| 20-04 | 29 | | Tour du Doubs (1.1) | 196.0km |
| 19-04 | 56 | | Tour du Jura Cycliste (1.1) | 176.0km |
| 22-03 | 82 | | Milano-Sanremo (1.UWT) | 289.0km |
| | | Paris-Nice (2.UWT) |
| 16 | | Standings |
| 5 | | Youth |
| 16-03 | 23 | 16 | Stage 8Nice - Nice | 119.0km |
| 15-03 | 24 | 15 | Stage 7Nice - Auron | 109.0km |
| 14-03 | 20 | 17 | Stage 6Saint-Julien-en-Saint-Alban - Berre l'Etang | 209.0km |
| 13-03 | 26 | 22 | Stage 5Saint-Just-en-Chevalet - La Côte-Saint-André | 203.0km |
| 12-03 | 15 | 22 | Stage 4Vichy - La Loge des Gardes | 163.0km |
| 11-03 | 19 | 55 | Stage 3Circuit Nevers Magny-Cours - Nevers | 28.0km |
| 10-03 | 68 | 76 | Stage 2Montesson - Bellegarde | 183.0km |
| 09-03 | 78 | 79 | Stage 1Le Perray-en-Yvelines - Le Perray-en-Yvelines | 156.0km |
| 02-03 | 60 | | Faun Drome Classic (1.Pro) | 189.0km |
| 01-03 | 26 | | Faun-Ardèche Classic (1.Pro) | 165.0km |
| | | Tour de la Provence (2.1) |
| 6 | | Standings |
| 8 | | Points |
| 4 | | Mountain |
| 1 | | Youth |
| 16-02 | 15 | 6 | Stage 3Rognac - Arles | 197.0km |
| 15-02 | 10 | 6 | Stage 2Forcalquier - Manosque | 169.0km |
| 14-02 | 13 | 6 | Stage 1Marseille - Saint-Victoret | 175.0km |
| 31-01 | 5 | | Trofeo Serra Tramuntana (1.1) | 151.0km |
| 29-01 | DNF | | Trofeo Calvià (1.1) | 149.0km |