Macro sous condition

Bonjour,

Comment transformer cette macro Excel en Sheet : If Application.WorksheetFunction.CountA(Worksheets("Fichier Suivi de livraison").Range("K6")) = 1 Then

Merci

Même cette fonction excel ne me dit rien !

Explique ce que tu veux plutôt. O peut trouver des fonctions natives google sheets qui font le job.

Je souhaite envoyer une page par mail si K6=1 si =0 ne pas envoyer

function ENVOIBS() {

  If Application.WorksheetFunction.CountA(Worksheets("Fichier Suivi de livraison").Range("K6")) = 1 Then
  DocumentApp.getActiveDocument();
  DriveApp.getFiles();
  // variables
  const doc = SpreadsheetApp.getActive();
  const docID = '1RsMfb1--Bdkc8k6OifTL_4efrzPpLa60NrPFzcMTbcg';
  const feuilleID = '787784667';
  const email = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('BS1').getRange('I5').getValue();
  const dossier = DriveApp.getFolderById('1SqovoqlU9EvG-Lo9JarFUtJMC5TVi65K');
  const d = Utilities.formatDate(new Date(), "GMT+1", "yyyyMMdd")
  const fichier = 'BS' + SpreadsheetApp.getActiveSpreadsheet().getSheetByName('BS1').getRange('G7').getValue() + d + ".pdf"
  const objet = "BS "+ SpreadsheetApp.getActiveSpreadsheet().getSheetByName('BS1').getRange('G7').getValue();
  const corps = "Veuillez trouver ci joint le bon de sortie référencé :" + SpreadsheetApp.getActiveSpreadsheet().getSheetByName('BS1').getRange('G7').getValue();

  // Création du fichier pdf
  const url = 'https://docs.google.com/spreadsheets/d/' + '1RsMfb1--Bdkc8k6OifTL_4efrzPpLa60NrPFzcMTbcg' + '/export?';
  const exportOptions =
    'exportFormat=pdf&format=pdf' + 
    '&size=A4' + 
    '&portrait=true' +                     // orientation portrait, false pour paysage
    '&fitw=true' +                        // pas d'ajustement en largeur
    '&sheetnames=false&printtitle=false' + // pas de nom ni de titre à l'impression
    '&pagenumbers=false&gridlines=false' + // pas de numérotation, pas de grille
    '&fzr=false' +                         // frozen rows = pas de répétition de l'en-tête
    '&gid=' + feuilleID;
  var params = {method:"GET",headers:{"authorization":"Bearer "+ ScriptApp.getOAuthToken()}};
  var reponse = UrlFetchApp.fetch(url + exportOptions, params).getBlob();

  // Envoi email avec fichier attaché 
    GmailApp.sendEmail(email, objet, corps, {
      htmlBody: corps,
      attachments: [{
            fileName: fichier,
            content: reponse.getBytes(),
            mimeType: "application/pdf"
        }]
    });

  // Sauvegarde du fichier. 
  dossier.createFile(reponse.setName(fichier));
}  

Là tu mélanges du VBA et du GAS !!

Si c'est dans la feuille active ...

function ENVOIBS() {

if ( SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange('K25').getValue()==1 ) {
// ici ton code

}

}  

edit : corrigé !

RE ,

Message d'erreur : Erreur de syntaxe : SyntaxError: Unexpected token '{' (ligne : 19, fichier : Code.gs)

et si j'enlève "{"

17:48:24ErreurReferenceError: If is not definedENVOIBS@ Code.gs:19

Merci de ton aide.

function ENVOIBS() {

  If (SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange('K25').getValue()=1 ) {
  DocumentApp.getActiveDocument();
  DriveApp.getFiles();
  // variables
  const doc = SpreadsheetApp.getActive();
  const docID = '1RsMfb1--Bdkc8k6OifTL_4efrzPpLa60NrPFzcMTbcg';
  const feuilleID = '787784667';
  const email = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('BS1').getRange('I5').getValue();
  const dossier = DriveApp.getFolderById('1SqovoqlU9EvG-Lo9JarFUtJMC5TVi65K');
  const d = Utilities.formatDate(new Date(), "GMT+1", "yyyyMMdd")
  const fichier = 'BS' + SpreadsheetApp.getActiveSpreadsheet().getSheetByName('BS1').getRange('G7').getValue() + d + ".pdf"
  const objet = "BS "+ SpreadsheetApp.getActiveSpreadsheet().getSheetByName('BS1').getRange('G7').getValue();
  const corps = "Veuillez trouver ci joint le bon de sortie référencé :" + SpreadsheetApp.getActiveSpreadsheet().getSheetByName('BS1').getRange('G7').getValue();

  // Création du fichier pdf
  const url = 'https://docs.google.com/spreadsheets/d/' + '1RsMfb1--Bdkc8k6OifTL_4efrzPpLa60NrPFzcMTbcg' + '/export?';
  const exportOptions =
    'exportFormat=pdf&format=pdf' + 
    '&size=A4' + 
    '&portrait=true' +                     // orientation portrait, false pour paysage
    '&fitw=true' +                        // pas d'ajustement en largeur
    '&sheetnames=false&printtitle=false' + // pas de nom ni de titre à l'impression
    '&pagenumbers=false&gridlines=false' + // pas de numérotation, pas de grille
    '&fzr=false' +                         // frozen rows = pas de répétition de l'en-tête
    '&gid=' + feuilleID;
  var params = {method:"GET",headers:{"authorization":"Bearer "+ ScriptApp.getOAuthToken()}};
  var reponse = UrlFetchApp.fetch(url + exportOptions, params).getBlob();

  // Envoi email avec fichier attaché 
    GmailApp.sendEmail(email, objet, corps, {
      htmlBody: corps,
      attachments: [{
            fileName: fichier,
            content: reponse.getBytes(),
            mimeType: "application/pdf"
        }]
    });

  // Sauvegarde du fichier. 
  dossier.createFile(reponse.setName(fichier));
}  }

désolé, if s'écrit en minuscule

if ( SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getRange('K25').getValue()==1 ) {

pour éviter des allers/retours, partage un fichier

Probleme resolu merci

Rechercher des sujets similaires à "macro condition"