Google sheet incrémentation de cellule

Résolu/Fermé
Coloc52 Messages postés 9 Date d'inscription mercredi 29 juillet 2020 Statut Membre Dernière intervention 5 mars 2022 - 3 mars 2022 à 00:04
 laureliot - 20 déc. 2022 à 18:18
Bonjour,

Je débute avec google sheet alors que j'utilise depuis "toujours" excel.
Je suis obligée d'utiliser ce programme car pour créer le document je pars d'un google form dont les résultats sont donc envoyés dans un google sheet.

Je me suis donc lancé dans la création de macro qui me permettes de faire plusieurs choses. Je m'en sors pas trop mal mais je bloque sur un problème.

Le but de mes macros c'est d'importer dans google calendar les données récupérées du formulaire.

Là où je bugue c'est que je n'ai pas un calendrier de concerné mais quatre.

L'ID de mes calendriers se trouvent dans une feuille nommée "calendrier" dans les cellules B1 à B4.

J'ai deux autres feuilles "transfert" et "salle". Mes données sont toutes dans "transfert", par macro je les copie dans "salle"

Je fais ensuite en sorte de ne conserver dans ma feuille "salle" que les informations concernant un seul calendrier. Pour ce faire, je copie dans la cellule C1 de "salle" la cellule B1 de "calendrier" et je lance la macro qui me supprime les lignes ne correspondant pas au calendrier dont l'ID se trouve dans la cellule C1 puis j'envoie les infos restantes dans mon google calendar concerné.

Ca fonctionne très bien mais je voudrais par une fonction "for" incrémenter ma cellule C1 de "salle" pour passer ensuite à B2 de "calendrier" puis B3 et enfin B4.

J'ai fait des tentatives dans tous les sens en faisant des recherches sur internet mais aucun des résultats ne fonctionnent.

Au lieu d'incrémenter le N° de la cellule ça me rajoute un 1 après le nom de mon premier ID de calendrier ce qui n'est pas vraiment le but recherché.

C'est donc là que j'ai besoin de votre aide.

Je vous mets ci-dessous la dernière version de ma macro.

Dans celle-ci j'essaie d'incrémenter mon B1 en B2 puis B3 et B4

 function Salle (){
var feu = SpreadsheetApp.getActiveSpreadsheet();
var cel = feu.getRange("B1");
for (var i = 1; i <= 4; i++) {
cel.setValue(cel.getValue() + 1);
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('ID'), true);
spreadsheet.getRange(cel).activate();
}
}



Puis dans celle-ci j'essaie de copier dans ma cellule C1 de "Salle" l'information se dans la cellule définie dans la macro précédente

 function ID_salle(){
var spreadsheet = SpreadsheetApp.getActive();
// Id de l'agenda
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Salle'), true); spreadsheet.getRange('1:1').activate();
spreadsheet.getActiveSheet().insertRowsBefore(spreadsheet.getActiveRange().getRow(), 1);
spreadsheet.getActiveRange().offset(0, 0, 1, spreadsheet.getActiveRange().getNumColumns()).activate();
spreadsheet.getRange('C1').activate();
spreadsheet.getRange(cel).copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false)
}


var feu correspondant au nom de la feuille "calendrier"
var cel correspondant aux cellules B1 à B4

Merci de votre aide

Co

Configuration: Windows / Chrome 98.0.4758.102
A voir également:

1 réponse

Coloc52 Messages postés 9 Date d'inscription mercredi 29 juillet 2020 Statut Membre Dernière intervention 5 mars 2022
5 mars 2022 à 12:18
Finalement j'ai trouvé une autre solution complétement différente
Merci à ceux qui m'ont lu
0

Bonjour peux tu donner ta solution. si c'est plus simple 

Merci

0