Comment créer des listes déroulantes avec des sélections multiples dans Google Sheets

Video google sheet multiple select dropdown

Les listes déroulantes de Google Sheets sont un excellent moyen pour les utilisateurs de sélectionner parmi différentes options. Elles offrent une vue claire de toutes les possibilités disponibles et garantissent que l’utilisateur ne sélectionne que les éléments autorisés.

Cependant, vous avez peut-être remarqué que la liste déroulante par défaut de Google Sheets ne permet à l’utilisateur de sélectionner qu’un seul élément de la liste. Mais ne vous inquiétez pas, il existe une solution pour créer une liste déroulante avec des sélections multiples en utilisant Google AppScript.

Dans cet article, je vais vous montrer comment créer une liste déroulante qui autorise les sélections multiples. Mais avant cela, laissez-moi vous donner quelques conseils pour créer des listes déroulantes traditionnelles dans Google Sheets.

Création d’une liste déroulante

Pour créer une liste déroulante traditionnelle dans Google Sheets, suivez ces étapes simples :

  1. Sélectionnez la cellule où vous souhaitez placer la liste déroulante.
  2. Accédez à Données > Validation des données.
  3. Dans les critères, sélectionnez Liste déroulante (à partir d’une plage).
  4. Sélectionnez la plage qui contient les éléments que vous souhaitez afficher dans la liste déroulante.
  5. Cliquez sur Enregistrer.

Maintenant, lorsque vous cliquez sur la flèche de la cellule, vous verrez la liste des options que vous avez définies. Vous pouvez choisir une seule option à la fois.

Mais que faire si vous avez besoin de sélectionner plusieurs options dans une liste déroulante ? Par exemple, si vous avez une liste de couleurs parmi lesquelles choisir et que vous en aimez plus d’une. Ou si vous voulez obtenir une liste des langages de programmation dans lesquels vous êtes compétent.

Dans de tels cas, il est possible que vous souhaitiez sélectionner plusieurs options dans la liste déroulante. Malheureusement, cela n’est pas possible avec les fonctionnalités intégrées de Google Sheets.

Création d’une liste déroulante avec des sélections multiples

Heureusement, il existe une solution pour créer une liste déroulante qui autorise les sélections multiples en utilisant Google AppScript. Suivez ces étapes :

  1. Créez une liste déroulante en suivant les étapes précédentes.
  2. Accédez à Extensions > Apps script.
  3. Dans la fenêtre Code.gs, supprimez tout le code existant et copiez-collez le code suivant :
function onEdit(e) {
  var oldValue;
  var newValue;
  var ss=SpreadsheetApp.getActiveSpreadsheet();
  var activeCell = ss.getActiveCell();

  if(activeCell.getColumn() == 3 && activeCell.getRow() == 1 && ss.getActiveSheet().getName()=="Sheet1") {
    newValue=e.value;
    oldValue=e.oldValue;

    if(!e.value) {
      activeCell.setValue("");
    }
    else {
      if (!e.oldValue) {
        activeCell.setValue(newValue);
      }
      else {
        activeCell.setValue(oldValue+', '+newValue);
      }
    }
  }
}
  1. Cliquez sur le bouton Enregistrer dans la barre d’outils.
  2. Cliquez sur Exécuter.

Maintenant, lorsque vous sélectionnez plusieurs options dans la liste déroulante, elles seront affichées séparées par une virgule dans la cellule. Vous pouvez également sélectionner la même option plusieurs fois.

Si vous souhaitez éviter les répétitions, vous pouvez utiliser le code suivant :

function onEdit(e) {
  var oldValue;
  var newValue;
  var ss=SpreadsheetApp.getActiveSpreadsheet();
  var activeCell = ss.getActiveCell();

  if(activeCell.getColumn() == 3 && activeCell.getRow() == 1 && ss.getActiveSheet().getName()=="Sheet1") {
    newValue=e.value;
    oldValue=e.oldValue;

    if(!e.value) {
      activeCell.setValue("");
    }
    else {
      if (!e.oldValue) {
        activeCell.setValue(newValue);
      }
      else {
        if(oldValue.indexOf(newValue) < 0) {
          activeCell.setValue(oldValue+', '+newValue);
        }
        else {
          activeCell.setValue(oldValue);
        }
      }
    }
  }
}

Maintenant, lorsque vous sélectionnez une option déjà sélectionnée, elle ne sera pas ajoutée à la liste. Cela permet d’éviter les répétitions.

Sélections multiples dans une colonne ou plusieurs cellules

Les exemples précédents étaient pour une seule cellule, mais que faire si vous souhaitez avoir des sélections multiples dans une colonne entière ou plusieurs cellules ?

Voici comment vous pouvez faire cela :

  • Si vous souhaitez que la liste déroulante permette des sélections multiples dans la colonne entière C, remplacez la ligne de code suivante :
if(activeCell.getColumn() == 3 && activeCell.getRow() == 1 && ss.getActiveSheet().getName()=="Sheet1")

par

if(activeCell.getColumn() == 3 && ss.getActiveSheet().getName()=="Sheet1")
  • Si vous souhaitez que cela soit disponible pour toute la colonne C et la colonne F, utilisez la ligne suivante :
if((activeCell.getColumn() == 3 || activeCell.getColumn() == 6) && ss.getActiveSheet().getName()=="Sheet1")

Maintenant, les sélections multiples seront activées pour toute la colonne C ou F.

Avec ces astuces, vous pouvez maintenant créer des listes déroulantes avec des sélections multiples dans Google Sheets. Bien que cela ne soit pas disponible en tant que fonctionnalité intégrée, vous pouvez facilement le faire avec un peu de magie à l’aide de Google AppScript.

J’espère que ces conseils vous ont été utiles ! N’hésitez pas à explorer d’autres fonctionnalités de Google Sheets pour devenir un expert en feuilles de calcul.

Cliquez ici pour en savoir plus sur les fonctionnalités de Google Sheets !

Related posts