Bonjour,
Désolé mais je n'y arrive pas avec Query.
Par contre je pense avoir trouvé un début de solution avec ces codes:
Néanmoins il faudrait que :
LastNotEmpty m'indique le numéro de la colonne contenant le dernier "ST" sur la ligne.
FirstNotEmpty m'indique le numéro de la colonne contenant le premier différent de "ST" en partant de lastNotEmpty.
Code principal m'indique le résultat de LastNotEmpty moins FirstNotEmpty.
LastNotEmpty = C1
FirstNotEmpty=C2
Code principal = C1 - C2
function lastNotEmpty(spreadsheet, row) {
const dataRange = spreadsheet.getRange(row, 1, 0, spreadSheet.getLastColumn()).getData()[0];
for(let i=dataRange.length -1; i>=0; i--) {
if (dataRange[i] && dataRange[i].trim()) {
return spreadsheet.getRange(row, i, 0, 0).getA1Notation();
}
}
}
function firstNotEmpty(spreadsheet, row){
const dataRange = spreadsheet.getRange(row, 1, 0, spreadSheet.getLastColumn()).getData()[0];
for(let i=0; i<dataRange.length; i--) {
if (dataRange[i] && dataRange[i].trim()) {
return spreadsheet.getRange(row, i, 0, 0).getA1Notation();
}
}
}
function codePrincipal(){
const app = SpreadsheetApp.getActive();
const spreadsheet = app.getActiveSpreadsheet();
const row = app.getActiveRange().getRow();
const first = firstNotEmpty(spreadsheet, row);
if (!first) {
return;
}
applyStyle(spreadsheet, first, lastNotEmpty(spreadsheet, row))
}