Ajout automatique de ligne dans un fichier

Bonjour,

Pour éviter des erreurs dans la gestion d'un fichier, je voudrais ajouter une ligne en debut du tableau en incrémentant la valeur à partir de la derniere valeur trouvée Exemple dans le fichier attaché

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

en cliquant sur ADD LINE , on insère une ligne avec l'ID =20+1

Merci pour votre support

Bonjour,

on peut faire un script pour ajouter la ligne avec le n° suivant, mais j'aimerais savoir ce qu'il y a sur les colonnes suivantes, car on peut aussi mettre une formule dans l'en-tête qui dira la même chose

={"id";arrayformula(if(B3:B="";;arrayformula(row(B3:B)+2)))}

Bonjour,

C'est un fichier de gestion de risque en 3 parties avec la description du risque son evalution et le plan d'action

Sur certains colonne j'ai des listes deroulantes

j'aimerai savoir si ceci n'est pas tout simplement suffisant !

on peut aussi mettre une formule dans l'en-tête qui dira la même chose

={"id";arrayformula(if(B3:B="";;arrayformula(row(B3:B)+2)))}

Je vois pas comment utiliser cette formule ?

Je veux automatiser l'ajout d'une ligne.

En gros, je vais avoir une liste de risques numérotés dans la colonne ID, pour éviter d'aller chercher le dernier risque et incrémenter.

Je veux que l'utilisateur clique sur ADD LINE et cela lui ajoute une ligne vide juste après l'entête (on decale les autres risques )avec juste l'ID incrémenté en cellule A3.

Exemple si mon dernier risque était le 20, le ADD LINE ajoute une ligne avec le ID 21 sur la ligne 3

Bonjour Steelson,

est-ce ce tu peux m'expliquer comment utiliser la formule

Merci

Mets cette formule

={"id";arrayformula(if(B3:B="";;arrayformula(row(B3:B)+2)))}

en A2, et efface les données en colonne A depuis A3

image

Autre solution par script

function ajoutLigne() {
  var rng = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange('A2').getNextDataCell(SpreadsheetApp.Direction.DOWN)
  rng.offset(1, 0).setValue(+rng.getValue() + 1)
}

J'ai compris la formule mais dans mon cas, vu que mon fichier est déja constitué, ça re-numrote des ID existants.

Et l'inconvénient est si j'insère une ligne au début la formule est décalée

et si j'insère une ligne au milieu, l'ID s'incrémente pa rapport à l'ID précédent or moi je veux l'incrémenté à partir du max déjà créé

La solution du script est meilleure mais est ce possible d'ajouter la ligne au début juste après l'entête avec l'ID = max déja crée +1

le cas générique est de pouvoir sélectionner une ligne et insérer en dessous avec l'id= max déjà crée +1

Mais le cas insertion en entete suffirait

ok, en mettant en A1 la formule

=max(A3:A)
function insererLigne() {
  const ss = SpreadsheetApp.getActiveSpreadsheet()
  const sh = ss.getActiveSheet()
  const row = sh.getActiveRange().getRow()
  sh.insertRowBefore(row);
  sh.getRange(row, 1).setValue(+sh.getRange('A1').getValue() + 1)
}

il suffit de se placer sur une ligne

merci, ca fonctionne

Rechercher des sujets similaires à "ajout automatique ligne fichier"