Apps Script : accéder aux puces intelligentes dans Google Sheets
Cela fait déjà quelques mois que les puces intelligentes ont débarqué dans Google Sheets. Si vous ne voyez pas ce que c’est, vous pouvez vous rendre dans un Google Sheets quelconque et, dans une cellule, […]
Ce que vous allez découvrir
- Comment accéder à une puce intelligente de Google Sheets dans Apps Script ?
- Et créer une puce intelligente, alors ?
Apps Script : accéder aux puces intelligentes dans Google Sheets
Cela fait déjà quelques mois que les puces intelligentes ont débarqué dans Google Sheets. Si vous ne voyez pas ce que c’est, vous pouvez vous rendre dans un Google Sheets quelconque et, dans une cellule, commencer à taper @. Vous verrez alors une multitude de suggestions, et si vous en choisissez une (par exemple votre propre adresse mail) et faites entrée, vous aurez créé une puce intelligente !
Les puces intelligentes sont bien pratiques, et il est possible à l’aide de formules de récupérer une partie des informations contenues dans notre cellule. Par exemple, si vous avez mis une puce intelligente en A2 qui mène vers un fichier Google Sheets comme dans l’image ci-dessus, vous pouvez écrire dans une autre cellule la formule : =A2.url, et cela vous donnera automatiquement le lien du fichier en retour.
Vous noterez que la façon d’écrire cette formule ressemble diablement à l’accès aux propriétés d’un objet dans Apps Script, et vous avez alors peut-être cette pensée : mais au fait, comment fait-on pour accéder à une puce intelligente de Google Sheets dans Apps Script ?
Comment accéder à une puce intelligente de Google Sheets dans Apps Script ?
Il s’avère que ce n’est pas possible !
Enfin, en réalité, pas directement. En effet, la fonctionnalité étant assez récente et encore en train d’évoluer (avec de nouvelles puces intelligentes ajoutées de temps à autre et des fonctionnalités en plus par-dessus), il est probable que l’équipe en charge du développement d’Apps Script attende que tout soit plus calme pour proprement ajouter les fonctions liées aux smart chips.
Vous pouvez vous-même essayer : que ce soit avec getValue(), getRichTextValue() ou getFormula(), il n’y a aucun moyen de récupérer autre chose que la valeur affichée dans Google Sheets. Rien de toutes les autres informations, notamment le lien dans le cas d’une puce intelligente sur un fichier.
Face à la puce intelligente, il va donc falloir ruser. Et la ruse consiste à utiliser un moyen détournée : si Apps Script ne peut pas accéder à la puce intelligente et son contenu, comme nous l’avons vu, il s’avère que Google Sheets peut à l’aide d’une formule. Or, Apps Script peut tout à fait écrire une formule dans Google Sheets, puis récupérer le contenu de cette formule.
Si nous reprenons l’exemple précédent, on peut donc écrire la petite fonction suivante :
function getSmartChipURL() { // On récupère une cellule que l’on sait vide (on peut aussi pour cela créer une colonne ou une ligne temporaire et mettre notre formule dans une des cellules créées) const tempRange = SpreadsheetApp.getActiveSheet().getRange("C2"); // On y écrit la formule souhaitée, ici pour récupérer l’URL de la cellule A2 tempRange.setFormula("=A2.url"); // On récupère le résultat de la formule const url = tempRange.getValue(); // On supprime la formule dans notre tempRange tempRange.setValue(""); // On peut désormais utiliser la valeur récupérée dans le reste de notre code, ou l’écrire en dur quelque part, par exemple en B2 console.log(url); SpreadsheetApp.getActiveSheet().getRange("B2").setValue(url); }
Et comme toujours, une démonstration vaut mieux qu’un long discours :
Et créer une puce intelligente, alors ?
C’est là où notre bricolage tombe à l’eau, hélas : étant donné que la création d’une puce intelligente passe par autre chose qu’une formule, il est impossible de créer une puce intelligente par Apps Script pour le moment. Encore une fois, vous pouvez essayer avec un setValue(), setFormula() voire un setRichTextValue(), mais rien ne fonctionnera.
Espérons toutefois que Google ne va pas laisser les utilisateurs d’Apps Script en plan, mais si l’on suit un peu l’actualité sur ce côté, il y a de bonnes raisons d’y croire : en décembre 2023, Google annonçait la possibilité de créer ses propres smart chips avec prévisualisations personnalisées dans Google Docs. Étant donné l’engouement des utilisateurs et des partenaires de Google pour les puces intelligentes, il y a fort à parier qu’Apps Script va recevoir de nouvelles fonctions liées.
Et en attendant, avec quelques astuces, on peut toujours arriver à quelque chose !
Besoin d'un peu plus d'aide sur Sheets ?
Des formateurs sont disponibles toute l'année pour vous accompagner et optimiser votre utilisation de Sheets, que ce soit pour votre entreprise ou pour vos besoins personnels !
Découvrir nos formations Sheets
- Articles connexes
- Plus de l'auteur