Macro Bug - Vlookup + Figer les valeurs

Bonjour,

J'ai un soucis sur sheet un peu étrange.

Sous macro, je cherche à faire fonctionner un Vlookup sur plusieurs champs et ensuite figer la colonne. Pourtant le script ne fonctionne pas

La partie Vlookup fonctionne - la partie figer également mais pourtant quand j'associe les deux, cela ne fonctionne pas

Voici le lien :

https://docs.google.com/spreadsheets/d/1x_R7vZOtBjo27mX4qwJCUJIc1fryOxVlqmvAOppP_-o/edit?usp=sharing

Voici la macro

function Test() {
'ok fonctionne seul 

var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('E6').activate();
spreadsheet.getCurrentCell().setFormula('=iferror(VLOOKUP(D6;BackUp!E:F;2;false);"")');
spreadsheet.getActiveRange().autoFill(spreadsheet.getRange('E6:E50'), SpreadsheetApp.AutoFillSeries.DEFAULT_SERIES);

' j'ajoute le copier coller en valeur des cellules et là ça ne fonctionne plus 

 spreadsheet.getRange('E:E').activate();
 spreadsheet.getRange('E:E').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
 spreadsheet.getRange('E6').activate();
};

Merci pour votre aide !

Sebastien

Bonjour,

image

partage ton fichier comme suit ... https://www.sheets-pratique.com/fr/cours/partage

Il n'y a pas de bug ... il faut comprendre que la macro s'exécute côté serveur sans a priori mise à jour de la feuille entre temps, question de rapidité et d'efficacité.

Si tu veux qu'une partie de ta macro ait un effet sur ta feuille avant de poursuivre, alors il faut flusher en ajoutant

SpreadsheetApp.flush();
/** @OnlyCurrentDoc */

function Test() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('E6').activate();
  spreadsheet.getCurrentCell().setFormula('=iferror(VLOOKUP(D6;BackUp!E:F;2;false);"")');
  spreadsheet.getActiveRange().autoFill(spreadsheet.getRange('E6:E50'), SpreadsheetApp.AutoFillSeries.DEFAULT_SERIES);

  SpreadsheetApp.flush();

 spreadsheet.getRange('E:E').activate();
 spreadsheet.getRange('E:E').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
 spreadsheet.getRange('E6').activate();

};

Effectivement ça fonctionne, merci beaucoup !!

Rechercher des sujets similaires à "macro bug vlookup figer valeurs"