Grandsir speelde in de jeugdopleiding van Troyes. Deze doorliep hij en hij brak ook door bij die club. Op 24 april 2016 maakte de middenvelder zijn debuut in het eerste elftal. Op die dag werd met 4–1 verloren van Montpellier. Jérôme Roussillon, Jonas Martin, Souleymane Camara en een eigen doelpunt van Matthieu Saunier zorgden voor de goals van Montpellier, Stéphane Darbion scoorde tegen. Grandsir begon op de bank en hij mocht veertien minuten voor tijd invallen voor Thiago Xavier.[1] Troyes degradeerde direct naar de Ligue 2 en zijn eerste doelpunt in deze competitie volgde op 13 januari 2017, tijdens een nederlaag tegen Ajaccio (1–2). Tijdens dit duel opende Grandsir na vijf minuten speeltijd de score.[2] Aan het einde van het seizoen 2016/17 promoveerde Grandsir met Troyes terug naar de Ligue 1. In de zomer van 2018 verkaste de Fransman voor circa drie miljoen euro naar AS Monaco, waar hij zijn handtekening zette onder een verbintenis voor de duur van vijf seizoenen.[3]Strasbourg huurde hem in januari 2019 voor een half seizoen.[4] Hierna werd Grandsir opnieuw verhuurd, ditmaal aan Stade Brest.[5] Na zijn terugkeer uit Brest kwam hij bij Monaco niet meer aan de bak. In maart 2021 trok LA Galaxy Grandsir transfervrij aan.[6] De Fransman keerde terug naar zijn geboorteland in januari 2023, toen hij voor een half seizoen tekende bij Le Havre.[7] In juni 2023 werd zijn aflopende verbintenis opengebroken en met twee jaar verlengd.[8]