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

  • Initiateur de la discussion Initiateur de la discussion Nicoach23
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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');
}
 
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);
};
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour