Pour ce qui est du second soucis, ceci n'est pas bon du tout, je ne sais pas de où cela vient mais c'est très chronophage !
for (var i = 0; i < csvData.length; i++) {
sh.getRange(i+lastRowValue+1, 1, 1, csvData[i].length).setValues(new Array(csvData[i]));
}
voici ce qui est normalement suffisant ... à adapter à ton cas !
//importer fichier csv attaché à un mail
//--------------------------------------
function myfunk() {
let ts = GmailApp.getInboxThreads();
ts.forEach(t => {
let msgs = t.getMessages();
msgs.forEach(m => {
if(m.getAttachments().length > 0) {
let csv = m.getAttachments()[0].getDataAsString();
const ss = SpreadsheetApp.getActive();
const sh = ss.getSheetByName('Sheet1');
const vs = Utilities.parseCsv(csv);
sh.getRange(1,1,vs.length,vs[0].length).setValues(vs);
}
})
})
}
reste à voir quel délimiteur est utilisé, mais là aussi on peut le faire de façon globale
reste aussi à voir de com bien de colonne tu as besoin, il faut sans doute limiter le nombre de colonne de ta feuille afin de disposer de plus de lignes
il faudrait presque que tu puisses m'envoyer un fichier csv exemple si tu veux aller plus loin