Macro numerotation devis
v
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)
}