Créer une Macro Copier/Coller ligne egal au numéro de client

Bonjour,

Je suis à la recherche d'une macro pour enregistrer mon formulaire et écraser la ligne de ma base client.

Le but est de copier toutes les informations de mon formulaire en Valeur et de les copier sur la ligne dont la valeur est égal au numéro de client .

Est ce possible ? je n'ai pas trouvé de post sur le sujet.

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

Merci d'avance.

Bonjour,

je t'ai envoyé une demande d'accès, sinon mets a minima ton fichier en lecture https://www.sheets-pratique.com/fr/cours/partage

tu peux aussi faire une recherche sur "archive"

https://forum.excel-pratique.com/sheets/script-archivage-152744#p944072

https://forum.excel-pratique.com/sheets/deplacer-des-lignes-dans-une-autre-feuille-en-fonction-d-une...

c'est le même principe de copie en valeur dans une autre feuille

Merci je vais essayer de me débrouiller avec archivage.

sinon le lien débloqué :https://docs.google.com/spreadsheets/d/1xu3D6jEBdXsHEDT7TIF5xtvMNEZaGPVIEm_bRE9JdBI/edit?usp=sharing

En faite, je ne pense pas que cela corresponde a ce que je recherche. en faite je veux que mon formulaire écrase les données de ma base en fonction du numéro de client. afin de ne pas avoir de doublon de ligne et mettre à jour à chaque validation de formulaire.

Proposition :

function maj(){
  var doc = SpreadsheetApp.getActiveSpreadsheet();
  var f1 = SpreadsheetApp.getActive();
  var f2 = doc.getSheetByName('Feuille 2');
  var adresses = ["D1","B3","D3","B5"];
  var destination = ["B","C","D","E"];
  var values = f2.getRange('A:A').getValues().join().split(","); 
  var num = f1.getRange('B1').getValue().toString();
  var ligne = values.indexOf(num) + 1
  for (var i = 0; i < adresses.length; i++){
    f2.getRange(destination[i] + ligne).setValue(f1.getRange(adresses[i]).getValue());
  }
  Browser.msgBox(num + ' modifié !');
}

Merci ça fonctionne

Parfait ! N'oublie pas de fermer le fil de discussion en cliquant sur

As tu une solution pour la rendre plus rapide car cela fonctionne mais cela prend 40 Secondes ?

Wahou !! j'en ai déjà fait pas mal, et cela prend une à 3 secondes maxi(*), dès lors que tu le fais sur un seul (ce qui est le cas puisque tu as un formulaire)

Combien as-tu de lignes ?

Supprime aussi les lignes et colonnes non utilisées dans ta base de données.

(*) juste le temps de connexion internet puisque c'est le serveur qui fait le script et non ton poste de travail

OK je vais supprimer les lignes et colonnes inutiles

Rechercher des sujets similaires à "creer macro copier coller ligne egal numero client"