Consulter Client Function

Function Consulter_Client


Conçue pour fonctionner avec une feuille Google Sheets nommée "Liste ECOLE", où les en-têtes commencent à la ligne 10 et les données à la ligne 11 :

javascript
function Consulter_Client() { const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheet = ss.getSheetByName("Liste ECOLE"); const ui = SpreadsheetApp.getUi(); const activeCell = sheet.getActiveCell(); const dataStartRow = 11; // Les données commencent à la ligne 11 const headers = sheet.getRange(10, 1, 1, sheet.getLastColumn()).getValues()[0]; const activeRow = activeCell.getRow(); if (activeRow < dataStartRow || activeRow > sheet.getLastRow()) { ui.alert("Pas dans la plage, merci de sélectionner une ligne du tableau !"); return; } // Définir une fonction utilitaire pour remplir une cellule d'après le nom de colonne function remplirCellule(destinationRange, colName) { const index = headers.indexOf(colName); if (index !== -1) { const value = sheet.getRange(activeRow, index + 1).getValue(); sheet.getRange(destinationRange).setValue(value); } } // Champs fixes const champsFixes = [ ["G2", "Nom Facture"], ["G3", "Nom"], ["G4", "ICE"], ["G5", "Ville"], ["G6", "Responsable"], ["G7", "Interlocuteur"], ["G8", "N° ligne (G.sheet)"], ["J2", "Client/prospect"], ["J3", "Adresse"], ["J4", "FAMILLE"], ["J5", "ID SMS"], ["J6", "N°TEL"], ["J7", "EMAIL"] ]; champsFixes.forEach(([cell, colName]) => remplirCellule(cell, colName)); // Valeur dynamique I8 => J8 const colNameJ8 = sheet.getRange("I8").getValue(); remplirCellule("J8", colNameJ8); // Blocs dynamiques : K2:L8, M2:N8, O2:P4 const blocks = [ { labelCol: "K", valueCol: "L", from: 2, to: 8 }, { labelCol: "M", valueCol: "N", from: 2, to: 8 }, { labelCol: "O", valueCol: "P", from: 2, to: 4 } ]; for (let block of blocks) { for (let i = block.from; i <= block.to; i++) { const colName = sheet.getRange(block.labelCol + i).getValue(); remplirCellule(block.valueCol + i, colName); } } // Stocker le numéro de ligne dans F1 sheet.getRange("F1").setValue(activeRow); }

📌 Explication :

  • Le script lit les en-têtes de la ligne 10 pour retrouver l’index d’une colonne à partir de son nom.

  • Ensuite, il lit la ligne actuellement sélectionnée (la cellule active) dans Google Sheets.

  • Il copie les données de cette ligne dans des cellules spécifiques comme G2, G3, etc.

  • Il gère aussi des colonnes dynamiques où le nom de la colonne est défini dans une cellule comme I8, K2, etc.

  • Enfin, il écrit le numéro de ligne sélectionné dans la cellule F1.

Commentaires

Posts les plus consultés de ce blog

🛠 Utilisation de CustomUIEditor pour Personnaliser le Ruban Excel

🗓️ Simulateur de Congés et Calendrier Collaboratif sous Google Sheets

Explication VBA : Facturation automatique Gestion client