Copie et creation de ligne a la suite automatiquement

Bonjour,

Je bosse sur un système de devis/facturation et jusqu'à présent j'ai utilisé des fonctions de copies/duplication simples (Feuille!A1) entre mes feuilles. Cependant si je qq'un décide de rajouter une ligne ou d'en enlever une depuis la feuille1, la feuille 2 ne s'adaptera pas en nombre de ligne et finira par décaler les informations...

Je n'ai pas réussi à trouver de fonction permettant à la fois de copier un résultat identique (entre 2 cellules) et si le résultat ne corresponds pas d'ajouter automatiquement une ligne (en dessous ou au dessus)...

Merci pour votre aide!

ScoubX

Bonjour,

Peux tu partager une copie de ton fichier sans données confidentielles, stp?

Merci,

Fil.

Bonjour Filoche merci de te pencher sur mon problème,

J'ai donc préparé 1 fichier comprenant 2 feuilles (DEVIS/FACTURE)
"La zone qui me pose problème est celle délimitée par le jaune fluo de chaque coté"

Pour rappel, le problème est lorsque qq'un décide d'ajouter une ligne dans la zone de travail (actuellement B18-N29) sur la Feuille DEVIS , il faudrait rendre cette partie de la feuille "dynamique" sur la feuille FACTURE, via un script je suppose, j'ai commencé a faire qq recherche avec ChatGPT... Ou peut être réfléchir à une autre approche

le lien : https://docs.google.com/spreadsheets/d/1UMGuwaEeoJJuGU9PVM56oZWtH1kb49V2MBLJPmkPkD8/edit#gid=1308049...

Merci.

Bonjour Scoubx,

Tu pourrais augmenter le nombre de lignes sur la plage B18:N30 sur les 2 exemplaires et masquer les lignes vides après la saisie du devis...

Par exemple, faire une plage identique B18:N45 et un script pour masquer les lignes vides avant N46...

C'est une piste (déclenchement du script à la fin de saisie du devis)....

Cordialement,

Fil.

Bonjour Fil,

C'est un idée, je vais essayer ta proposition, j'ai créé ce script de masquage automatique qui est fonctionnel pour ceux qui sont intéressés :

function hideEmptyRows() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var range = sheet.getRange("B18:N45");
  var values = range.getValues();
  for (var i = 0; i < values.length; i++) {
    var row = values[i];
    var isRowEmpty = true;
    for (var j = 0; j < row.length; j++) {
      if (row[j] != "") {
        isRowEmpty = false;
        break;
      }
    }
    if (isRowEmpty) {
      sheet.hideRows(i + 18);
    }
  }
}

ScoubX

Bonjour Scoubx,

Super , merci pour le partage!

Bon dimanche,

Fil.

Rechercher des sujets similaires à "copie creation ligne suite automatiquement"