Macro numerotation devis

Bonjour,

Je souhaiterais modifier une macro, celle-ci me sert à créer un nouveau numéro de devis automatiquement.

Seulement je voudrais que le numéro se crée en fonction de l'année est du mois en reprenant le numéro de la ligne précédente et ne pas recommencer chaque mois à 001

exemple: numéro précédent D2105028 je crée un devis le 02/06 mon numéro sera alors D2106029 ect..

Avec la macro que j'ai actuellement à chaque changement de mois je repars de 1

Je vous remercie pour votre aide.

https://docs.google.com/spreadsheets/d/1Ecq2UemZImHSRKQUz2z7ajvvrPoqepQJSOWtsCQCXnY/edit?usp=sharing

function nouveauDevis(){
  var Spreadsheet = SpreadsheetApp.getActive();
  Spreadsheet.setActiveSheet(Spreadsheet.getSheetByName('DEVIS/FACTURE'), true);

  var classeur = SpreadsheetApp.getActiveSpreadsheet();
  var feuille = classeur.getSheetByName('DEVIS/FACTURE');
  var ligne = getLastDataRow(feuille)
  var devis = feuille.getRange('A'+ligne).getValue()
  var regExp = new RegExp("([0-9]+)", "g");
  var racine = regExp.exec(devis)[0]
  var d = new Date()
  if(Math.floor(racine/1000)*1 != Utilities.formatDate(d,"GMT+1",'yyMM')*1){
    var nouveau = (Utilities.formatDate(d,"GMT+1",'yyMM')*1000 + 1)
  }else{
    var regExp = new RegExp("([0-9]+)", "g");
    var nouveau = regExp.exec(devis)[0]*1 + 1
  }
  feuille.getRange('A'+(ligne+1)).setValue('D'+nouveau)
}

function getLastDataRow(sheet) {
  var lastRow = sheet.getLastRow();
  var range = sheet.getRange("A" + lastRow);
  if (range.getValue() !== "") {
    return lastRow;
  } else {
    return range.getNextDataCell(SpreadsheetApp.Direction.UP).getRow();
  }              
}

Bonjour,

function nouveauDevis(){
  var Spreadsheet = SpreadsheetApp.getActive();
  Spreadsheet.setActiveSheet(Spreadsheet.getSheetByName('DEVIS/FACTURE'), true);

  var classeur = SpreadsheetApp.getActiveSpreadsheet();
  var feuille = classeur.getSheetByName('DEVIS/FACTURE');
  var ligne = getLastDataRow(feuille)
  var devis = feuille.getRange('A'+ligne).getValue()
  var regExp = new RegExp("([0-9]+)", "g");
  var racine = regExp.exec(devis)[0]
  var d = new Date()
  var nouveau = Utilities.formatDate(d,"GMT+1",'yyMM')*1000 + Math.round(((racine/1000) % 1)*1000 + 1)
  feuille.getRange('A'+(ligne+1)).setValue('D'+nouveau)
}

Merci! cela fonctionne.

Rechercher des sujets similaires à "macro numerotation devis"