Script permettant d'effectuer une recherche parmi des données

Bonjour à tous et à toutes,

Je suis très novices dans tout ce qui est automatisation + script et macros sur google sheet, donc désoler par avance si je ne comprend pas tout ce que vous me dite.

Alors pour commencer, j'aimerais pouvoir effectué une recherche avec un bouton qui me permette de retrouver dans une base de donnée les 10 meilleures correspondances avec les caractéristiques de mon sujet. C'est pas mal compliqué à expliquer je vais vous mettre des screens pour que vous puissiez mieux comprendre.

Ceci est ma base de donnée (elle est fictive) dans une première feuille nommé "base de donnée test" :

image

Ceci est la deuxième feuille nommé "Recherche test" avec une entrée de donnée que je rentre moi même (à coter du rectangle "recherche" que j'aimerais mettre sous format bouton" :

image

et mon objectif serait quand j'appuie sur mon bouton de recherche après que j'ai rentrée mes valeurs, sur la feuille de recherche juste en dessous apparaissent les 10 meilleurs correspondances classé de haut en bas du plus proche au moins proche.

J'ai essayer de faire un script avec chat GPT mais pas mal d'erreur, de bug et vu que je suis totalement novice je ne comprend rien du tout.

Voici le script de chat GPT mais je pense pas que ca soit le plus approprié à ma requête.

function rechercheCorrespondances() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var feuilleRecherche = spreadsheet.getSheetByName('Recherche test');
  var feuilleFiche = spreadsheet.getSheetByName('Base de donnée test');

  // Récupérer les données de la feuille "Recherche test"
  var dimensions = feuilleRecherche.getRange('B2:D2').getValues()[0];

  // Ajouter une colonne d'évaluation des correspondances
  feuilleFiche.insertColumnAfter(4);
  feuilleFiche.getRange('E2:E').setFormulaArray(
    'ARRAYFORMULA(IFERROR((B2:B*D2:D*E2:E)/(' + dimensions[0] + '*' + dimensions[1] + '*' + dimensions[2] + '), 0))'
  );

  // Trier les données en fonction de la colonne d'évaluation
  feuilleFiche.getRange('A2:E').sort({ column: 5, ascending: false });

  // Afficher les 10 meilleures correspondances
  var correspondances = feuilleFiche.getRange('A2:E11').getValues();
  feuilleRecherche.getRange('B5:F14').setValues(correspondances);

  // Supprimer la colonne d'évaluation
  feuilleFiche.deleteColumn(5);
}

Voilà voilà, si vous avez lu ce beau pavé merci beaucoup et si vous pouviez m'aider à réaliser ce script ca serait génial !

Merci d'avance et à bientôt !

Bonjour,

Un QUERY, avec une case à cocher en guise de bouton, serait peut-être plus simple à mettre en place ?

Cordialement,

Fil.

Bonjour,

Je rejoint Fil, un script est toujours possible, mais Query semble plus adapté à votre besoin, pouvez-vous partager un fichier exemple éditable + quelles colonnes doivent être identiques à la requête et lesquelles doivent s'en rapprocher ?

Bonjour,

Je vais regarder cette solution d'ici le début de la semaine prochaine avec un Query, je reviendrais vers vous si besoin.

Merci pour votre aide !

Pierre, je vous ferez parvenir un fichier éditable début de semaine prochaine car je ne pourrait pas m'y atteler d'ici là. Je vous ferez aussi un retour plus détailler sur votre questionnement.

Merci à vous deux !

Rechercher des sujets similaires à "script permettant effectuer recherche donnees"