Bouton copier sur google sheet A et un bouton pour coller sur Google Shee B
Bonjour la communauté,
Je fais appelle à votre aide à ce sujet :
Je souhaite faire un bouton sur un doc google sheet A qui permet de copier les cellules P21:P25 dans mon papier presse puis un autre bouton dans un doc google sheet B pour coller les cellules dans A21:A25.
Je sais, il y a le fameux raccourci cmd+ C puis cmd+V, mais ce document a pour but d'être très facile d'utilisation. Rien de plus simple que 2 boutons non ?
Ce copier-coller me permet de créer ma formule IMPORTRANGE de manière rapide.
Etant donné que de nombreuses personnes en feront une copie, c'est le moyen le plus simple que j'ai trouvé pour relier 2 fichiers google sheet
Pouvez-vous m'aider à résoudre ce problème ? script ...
Merci beaucoup
Bonjour,
Dans votre fichier cible, insérez une image de bouton et assignez le script suivant :
function copie() {
let origineSheet = SpreadsheetApp.openById("1trntAbKXW9pzEf1EX8RpPyDGPGhjghfjhgLiS-w").getSheetByName("Feuille 1"); // ici il faut mettre l'ID du fichier d'origine + le nom de la feuille
let destinationSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
let origineRange = origineSheet.getRange('P21:P25');
let destinationRange = destinationSheet.getRange('A21:A25');
destinationRange.setValues(origineRange.getValues())
}Lorsque vous cliquerez dessus, ça importera la plage P21:P25 de votre fichier d'origine.
PS : pour trouver l'ID d'un fichier :
Bonjour Pierre,
Merci beaucoup pour votre réponse.
Malheureusement, ces documents seront partagés et de nombreux copies en seront fait. L'ID sera donc forcément modifié.
Je ne peux pas demander aux utilisateurs "novices pour la plupart" d'aller modifier à chaque fois ID. Il faudrait quelque chose de simple en mode copier /coller
Auriez-vous une autre méthode ?
Je vous remercie
Quentin
Bonjour,
Ce copier-coller me permet de créer ma formule IMPORTRANGE de manière rapide.
Etant donné que de nombreuses personnes en feront une copie, c'est le moyen le plus simple que j'ai trouvé pour relier 2 fichiers google sheet
je ne comprends pas bien ce que tu veux faire : quand on fait la copie d'un classeur dans lequel il y a un importRange depuis un autre classeur, l'importRange se retrouve également dans la copie, non ?
Malheureusement, ces documents seront partagés et de nombreux copies en seront fait. L'ID sera donc forcément modifié.
Je ne peux pas demander aux utilisateurs "novices pour la plupart" d'aller modifier à chaque fois ID. Il faudrait quelque chose de simple en mode copier /coller
Bonjour,
Oui il existe un moyen, il faut dans votre fichier cible demandez aux utilisateurs de copier d'url du fichier, et dans un autre cellule de noter le nom de la feuille.
Ex :
| URL fichier : | |
| Nom feuille : | Feuille1 |
Puis modifier le script ainsi : (dans cet exemple, l'url est en B1 et le nom de feuille en B2)
function copie() {
let destinationSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
let origineSheet = SpreadsheetApp.openByUrl(destinationSheet.getRange('B1').getValue()).getSheetByName(destinationSheet.getRange('B2').getValue());
let origineRange = origineSheet.getRange('P21:P25');
let destinationRange = destinationSheet.getRange('A21:A25');
destinationRange.setValues(origineRange.getValues())
}+ il est aussi possible d'intégrer un test, si la feuille + fichier n'est pas trouvé afficher un popup (veuillez inscrire un URL + feuille valide)