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 |
|---|---|---|---|---|---|
| 13 Sep 2025 | Ligue 2 | Grenoble Foot 38 v USL Dunkerque | 1 – 0 | 90 | |
| 30 Aug 2025 | Ligue 2 | AS Saint-Étienne v Grenoble Foot 38 | 1 – 1 | 90 | |
| 22 Aug 2025 | Ligue 2 | Clermont Foot 63 v Grenoble Foot 38 | 2 – 1 | 90 | 1 |
| 15 Aug 2025 | Ligue 2 | Grenoble Foot 38 v Stade Lavallois | 1 – 1 | 90 | |
| 09 Aug 2025 | Ligue 2 | ESTAC Troyes v Grenoble Foot 38 | 2 – 1 | 90 | |
| 02 May 2025 | Ligue 2 | Grenoble Foot 38 v ESTAC Troyes | 3 – 1 | 69 | |
| 25 Apr 2025 | Ligue 2 | SC Bastia v Grenoble Foot 38 | 2 – 3 | 90 | 1 |
| 18 Apr 2025 | Ligue 2 | USL Dunkerque v Grenoble Foot 38 | 2 – 0 | 90 | |
| 12 Apr 2025 | Ligue 2 | Grenoble Foot 38 v Paris FC | 1 – 2 | 90 | |
| 04 Apr 2025 | Ligue 2 | Stade Lavallois v Grenoble Foot 38 | 1 – 2 | 90 | |
| 29 Mar 2025 | Ligue 2 | Grenoble Foot 38 v FC Lorient | 1 – 2 | 78 | |
| 14 Mar 2025 | Ligue 2 | Clermont Foot 63 v Grenoble Foot 38 | 0 – 0 | 90 | |
| 07 Mar 2025 | Ligue 2 | Grenoble Foot 38 v AC Ajaccio | 2 – 2 | 90 | |
| 28 Feb 2025 | Ligue 2 | Pau FC v Grenoble Foot 38 | 1 – 0 | 90 | |
| 21 Feb 2025 | Ligue 2 | Grenoble Foot 38 v EA Guingamp | 1 – 1 | 89 | |
| 14 Feb 2025 | Ligue 2 | Amiens SC v Grenoble Foot 38 | 1 – 4 | 90 | 1 |
| 07 Feb 2025 | Ligue 2 | Grenoble Foot 38 v Red Star FC | 0 – 0 | 84 | |
| 31 Jan 2025 | Ligue 2 | Grenoble Foot 38 v Rodez AF | 2 – 1 | 90 | 1 |
| 24 Jan 2025 | Ligue 2 | FC Metz v Grenoble Foot 38 | 3 – 0 | 90 | |
| 17 Jan 2025 | Ligue 2 | Grenoble Foot 38 v FC Martigues | 1 – 0 | 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.