Fonction Modifier Client dans BDD

 

✅ Fonction ModifierClient_dans_BDD() :

javascript

function ModifierClient_dans_BDD() { const ss = SpreadsheetApp.getActiveSpreadsheet(); const sourceSheet = ss.getSheetByName("Liste ECOLE"); const targetSheet = ss.getSheetByName("BDD"); const ui = SpreadsheetApp.getUi(); const ligneCible = sourceSheet.getRange("F1").getValue(); const nomClient = sourceSheet.getRange("G2").getValue(); if (!ligneCible || !nomClient || isNaN(ligneCible)) { ui.alert("Erreur : la ligne cible n'est pas définie ou le nom est vide !"); return; } const confirmation = ui.alert("Confirmation", "Voulez-vous vraiment modifier ce client dans la BDD ?", ui.ButtonSet.YES_NO); if (confirmation !== ui.Button.YES) return; const headers = targetSheet.getRange(10, 1, 1, targetSheet.getLastColumn()).getValues()[0]; // Valeurs fixes const valeurs = { "Nom": sourceSheet.getRange("G2").getValue() // Tu peux ajouter ici d'autres champs fixes si nécessaire }; // Valeurs dynamiques const dynRanges = [ ["F2", "G2"], ["F3", "G3"], ["F4", "G4"], ["F5", "G5"], ["F6", "G6"], ["F7", "G7"], ["F8", "G8"], ["I2", "J2"], ["I3", "J3"], ["I4", "J4"], ["I5", "J5"], ["I6", "J6"], ["I7", "J7"], ["I8", "J8"], ["K2", "L2"], ["K3", "L3"], ["K4", "L4"], ["K5", "L5"], ["K6", "L6"], ["K7", "L7"], ["K8", "L8"], ["M2", "N2"], ["M3", "N3"], ["M4", "N4"], ["M5", "N5"], ["M6", "N6"], ["M7", "N7"], ["M8", "N8"], ["O2", "P2"], ["O3", "P3"], ["O4", "P4"], ["O5", "P5"], ["O6", "P6"], ["O7", "P7"], ["O8", "P8"], ["Q2", "R2"], ["Q3", "R3"], ["Q4", "R4"], ["Q5", "R5"], ["Q6", "R6"], ["Q7", "R7"], ["Q8", "R8"] ]; dynRanges.forEach(([labelCell, valueCell]) => { const label = sourceSheet.getRange(labelCell).getValue(); const val = sourceSheet.getRange(valueCell).getValue(); if (label) { valeurs[label] = val; } }); // Écriture dans la feuille BDD const row = parseInt(ligneCible, 10); if (row < 11 || row > 100000) { ui.alert("Erreur : ligne de modification hors plage autorisée dans la BDD !"); return; } Object.entries(valeurs).forEach(([colName, val]) => { const index = headers.indexOf(colName); if (index !== -1) { targetSheet.getRange(row, index + 1).setValue(val); } }); // Nettoyage sourceSheet.getRange("A1").setValue(""); ui.alert("Client modifié avec succès dans la BDD !"); }

🔍 Fonctionnement :

  • La ligne à modifier dans la feuille BDD est lue depuis F1 de "Liste ECOLE".

  • Les données de G2, G3... etc. sont recopiées dans la ligne correspondante de "BDD", en fonction des étiquettes situées dans les colonnes F, I, K, M, O, Q.

  • L’écriture s’effectue dans la ligne exacte désignée dans F1, uniquement si elle est ≥ 11.

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