Bonsoir à tous, je finis par craquer ici après 5h de recherches en espérant que vous puissiez me répondre...
J'ai décidé de passer d'Excel à Sheets et je suis en train de transposer mes macros de l'un vers l'autre. N'étant pas un crack en javascript, j'utilise surtout des bouts de codes trouvés sur internet et la fonctionnalité "enregistrer la macro".
Pour faire court, j'utilise donc cette fonction pour étendre dans ma colonne C la formule suivante (fonctionnant sur Excel) :
=SIERREUR(SI(TROUVE("R";B1;1)=1;SI(NBCAR(B1)>3;GAUCHE(B1;CHERCHE(" ";B1;1)-1);B1);"");"")
En colonne A j'ai des altitudes, en colonne B des remarques et en colonne C je souhaite qu'il me sorte uniquement R1, R2, R3, R4, etc. présents dans la colonne B.
Dans le script de Google Sheet j'ai mis :
spreadsheet.getRange('C1').activate();
spreadsheet.getActiveRange().setFormula('=IFERROR(IF(FIND("R";B1;1)=1;SI(LEN(B1)>3;LEFT(B1;SEARCH(" ";B1;1)-1);B1);"");"")'); spreadsheet.getActiveRange().autoFillToNeighbor(SpreadsheetApp.AutoFillSeries.DEFAULT_SERIES);
var currentCell = spreadsheet.getCurrentCell();
spreadsheet.getSelection().getNextDataRange(SpreadsheetApp.Direction.DOWN).activate();
currentCell.activateAsCurrentCell();
spreadsheet.getRange('C1').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
Tout fonctionne bien sauf que dans ma colonne C il me met bien :
=SIERREUR(SI(TROUVE("R";B1;1)=1;SI(NBCAR(B1)>3;GAUCHE(B1;CHERCHE(" ";B1;1)-1);B1);"");"")
SAUF qu'aucune valeur ne s'affiche dans la colonne C... Et si je fais un copié collé d'une de ces formules autre part (par exemple en F1), j'ai bien ma valeur qui apparait, donc pas de problème de formule...
J'ai mis ma feuille en Italien pour les ";", j'ai essayé de rafraichir la page, j'ai essayé avec des virgules, des espaces, sans espaces, etc... Bref je suis perdu, j'espère que quelqu'un pourra m'aider : )
De plus, quelqu'un connait un bon convertisseur de macro Excel vers Sheets ? J'ai utilisé Macro Converter mais je dois tout refaire à chaque fois...