Autres Code VBA pour cibler une page et pas la page active d'un document

Nicoach23

XLDnaute Nouveau
Bonjour,

Je travaille sur l'automatisation du code VBA suivant via une feuille google sheet:


Code:
/** @OnlyCurrentDoc */

function ValidationAPSA() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('Z2').activate();
  spreadsheet.getRange('R2:Y2').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
};

Je souhaite ensuite l'associer à un déclencheur. Et ça aucun problème...

Mon problème : J'ai plusieurs pages sur mon document et j'aimerais que ce code ne s'applique qu'à la page 'Dates séquences' et pas à la page active... Pour le moment, je ne trouve pas de solution efficace....

Si vous avez des idées ou des pistes...

Merci à vous
 

youky(BJ)

XLDnaute Barbatruc
Bonsoir Nico,
Voici un code que j'avais fait il y a plusieurs années.
Je travaillais avec plusieurs feuilles si cela peut te mettre sur la piste.
Cela reste un exemple de code qui n'est pas du VBA.
Bruno
VB:
function ActualiserStock() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("DATA");
  var lig=sheet.getRange("K1").getValue();
  var sheet2 = ss.getSheetByName("STOCK");
  var allProtections = sheet2.getActiveSheet().getProtections(SpreadsheetApp.ProtectionType.SHEET);
  protection = allProtections[0];
  protection.remove();
  var range = sheet2.getRange("B2:C19");
  range.clear({contentsOnly: true, skipFilteredRows: true});
   for(lg=2; lg<20;lg++){
      var cuve=sheet2.getRange(lg,1).getValue();
      kit=0;
    for (k = lig; kit == 0 && k >1; k--){
     if (sheet.getRange(k,4).getValue() ==cuve){
      var niv=sheet.getRange(k,7).getValue();
      sheet2.getRange(lg,2).setValue(niv);
      var nat=sheet.getRange(k,5).getValue();
      sheet2.getRange(lg,3).setValue(nat);
      kit=1;
     };
   };
};
 var protection = sheet2.getActiveSheet().protect();
  protection.setDescription('protege');
}
 

youky(BJ)

XLDnaute Barbatruc
Bonsoir,
A essayer car je ne peux le faire.
Bruno
VB:
/** @OnlyCurrentDoc */

function ValidationAPSA() {
 var onglet = SpreadsheetApp.getActive();
onglet.getRange('Z2').activate();
 var sheet = ss.getSheetByName("Dates séquences");
 ss.getRange('R2:Y2').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
};
 

Discussions similaires

Statistiques des forums

Discussions
315 095
Messages
2 116 165
Membres
112 675
dernier inscrit
Tazra_IMOU