At a glance
- Full name
- Theo Valls
- Born
- 18 Dec 1995
- Age today
- 30
- Nationality
- France
Career by season
228 recorded appearances| Season | Competition | Team | Apps | Starts | Goals | Assists | Minutes | Cards |
|---|---|---|---|---|---|---|---|---|
| 26/27 | Primera Federación | UD Ibiza | 6 | 5 | 1 | 0 | 457 | 0 |
| 25/26 | Primera Federación | UD Ibiza | 19 | 18 | 1 | 2 | 1,613 | 4 |
| 25/26 | Ligue 2 | Grenoble Foot 38 | 18 | 17 | 1 | 1 | 1,532 | 1 |
| 25/26 | Coupe de France | Grenoble Foot 38 | 2 | 1 | 0 | 0 | 108 | 0 |
| 24/25 | Ligue 2 | Grenoble Foot 38 | 28 | 26 | 4 | 3 | 2,320 | 1 |
| 24/25 | Coupe de France | Grenoble Foot 38 | 2 | 2 | 1 | 0 | 162 | 0 |
| 23/24 | Ligue 2 | Grenoble Foot 38 | 26 | 22 | 3 | 0 | 1,987 | 1 |
| 23/24 | Coupe de France | Grenoble Foot 38 | 1 | 1 | 0 | 0 | 90 | 0 |
| 22/23 | Swiss Super League | Servette FC | 26 | 6 | 3 | 2 | 760 | 2 |
| 22/23 | Swiss Cup | Servette FC | 4 | 2 | 0 | 1 | 199 | 0 |
| 21/22 | UEFA Conference League | Servette FC | 2 | 2 | 0 | 0 | 163 | 1 |
| 21/22 | Swiss Super League | Servette FC | 32 | 25 | 1 | 2 | 2,124 | 2 |
| 21/22 | Swiss Cup | Servette FC | 3 | 3 | 1 | 2 | 201 | 1 |
| 20/21 | Swiss Super League | Servette FC | 33 | 32 | 4 | 10 | 2,738 | 3 |
| 20/21 | Swiss Cup | Servette FC | 2 | 2 | 0 | 0 | 176 | 0 |
| 19/20 | Ligue 1 | Nîmes Olympique | 23 | 20 | 1 | 1 | 1,726 | 1 / 1 red |
| 19/20 | Coupe de France | Nîmes Olympique | 1 | 1 | 0 | 0 | 120 | 0 |
Appearances in our supported competitions. Goals, assists and minutes come from match reports where we have them.
Match log
Newest first| Date | Competition | Match | Score | Minutes | Goals |
|---|---|---|---|---|---|
| 15 Feb 2026 | Primera Federación | UD Ibiza v CE Sabadell FC | 2 – 0 | 90 | |
| 08 Feb 2026 | Primera Federación | Betis Deportivo Balompié v UD Ibiza | 3 – 2 | 80 | |
| 01 Feb 2026 | Primera Federación | UD Ibiza v Atlético Madrileño | 2 – 0 | 90 | |
| 24 Jan 2026 | Primera Federación | Gimnàstic de Tarragona v UD Ibiza | 1 – 0 | 87 | |
| 18 Jan 2026 | Primera Federación | UD Ibiza v Real Murcia CFSubstitute, on 63′ | 2 – 0 | 27 | |
| 03 Jan 2026 | Ligue 2 | SC Bastia v Grenoble Foot 38 | 1 – 0 | 69 | |
| 20 Dec 2025 | Coupe de France | Grenoble Foot 38 v AS Nancy-Lorraine | 1 – 1 | 83 | |
| 13 Dec 2025 | Ligue 2 | Grenoble Foot 38 v Montpellier HSC | 1 – 1 | 90 | |
| 05 Dec 2025 | Ligue 2 | Grenoble Foot 38 v AS Nancy-Lorraine | 1 – 0 | 90 | |
| 21 Nov 2025 | Ligue 2 | US Boulogne v Grenoble Foot 38 | 3 – 1 | 90 | |
| 14 Nov 2025 | Coupe de France | Olympique Villefontaine v Grenoble Foot 38Substitute, on 65′ | 0 – 3 | 25 | |
| 07 Nov 2025 | Ligue 2 | Grenoble Foot 38 v Rodez AF | 2 – 1 | 90 | |
| 01 Nov 2025 | Ligue 2 | Amiens SC v Grenoble Foot 38 | 2 – 3 | 86 | |
| 28 Oct 2025 | Ligue 2 | Grenoble Foot 38 v EA Guingamp | 0 – 0 | 90 | |
| 24 Oct 2025 | Ligue 2 | Red Star FC v Grenoble Foot 38 | 1 – 0 | 90 | |
| 17 Oct 2025 | Ligue 2 | Grenoble Foot 38 v Pau FC | 1 – 1 | 90 | |
| 04 Oct 2025 | Ligue 2 | Stade Reims v Grenoble Foot 38 | 2 – 4 | 90 | |
| 26 Sep 2025 | Ligue 2 | Grenoble Foot 38 v SC Bastia | 0 – 0 | 90 | |
| 23 Sep 2025 | Ligue 2 | Le Mans FC v Grenoble Foot 38Substitute, on 63′ | 1 – 0 | 27 | |
| 19 Sep 2025 | Ligue 2 | Grenoble Foot 38 v FC Annecy | 1 – 3 | 90 |
Career transfers
5 recorded movesAll recorded career moves, newest first.
| Date | From | To | Move | Fee |
|---|---|---|---|---|
| 26 Oct 2023 | Without club | Grenoble Foot 38 | Transfer | — |
| 01 Jul 2023 | Servette FC | Without club | Released | — |
| 22 Sep 2020 | Nîmes Olympique | Servette FC | Transfer | Free |
| 01 Jul 2015 | Not recorded | Nîmes Olympique | Transfer | — |
| 01 Jul 2014 | Nîmes Olympique U19 | Nîmes Olympique B | Internal move | — |
Contracts and market values are not available yet.