Validation de données en fonction d'une autre cellule

Bonjour,

Dans un onglet, j'ai un tableau avec pour chaque colonne correspondant à une famille, plusieurs dangers :

image

Dans un second onglet, j'ai un intégré dans une colonne une validation des données permettant de sélectionner la famille de risque (en vert). Dans la colonne suivante, je souhaiterais faire apparaître également dans une liste (validation de données) les dangers correspondant à la famille. Et si je change de famille, la liste des dangers évolue.

Exemple : Dans la colonne A, je sélectionne "risque routier en mission". Dans la colonne B n'apparaît dans la liste que les dangers correspondant (déplacement de longue durée, zone de circulation dense...).

image

Merci beaucoup pour votre aide.

William

Bonjour

Pour ce qui me concerne sans fichier exemple représentatif de l'original je ne commencerai même pas à y réfléchir. Les captures d'écran ne sont à mon sens d'aucune utilité.

Cordialement

Bonjour William,

en attendant une copie de ton fichier pour ne connaître la structure, tu trouveras ci-joint une des solutions possibles.

Il y a ici 4 domaines colonnes A, B, C et D de l'onglet Listes. En colonne F je calcule la liste des choix possibles. Cette liste devient donc la liste d evalidation pour la feuille choix. Il y a aussi d'autres possibilités notamment par script.

https://docs.google.com/spreadsheets/d/1IDifehV68cEGlI1pqpvNLEnReZRLnyiZf-4ipFl-E3s/copy

Bonjour à vous,

Ne sachant pas comment joindre un fichier google sheets, je l'ai transformé en Excel.

Vous trouverez le fichier en pièce jointe avec :

  • la liste des dangers dans l'onglet "FAMILLE DE RISQUES"
  • dans l'onglet "ANALYSE DE RISQUES", la colonne D reprenant la famille (ce qui est en vert dans l'onglet famille de risques et la colonne E où je souhaite voir juste apparaître les dangers en fonction de la famille.

Merci à vous

Ne sachant pas comment joindre un fichier google sheets, je l'ai transformé en Excel.

cela ne va malheureusement pas servir

pour partager un fichier https://www.sheets-pratique.com/fr/cours/partage

Accès refusé !! Fais partage en haut à droite du fichier, et change limité en ... ou autorise moi (je t'ai demandé l'accès)

J'ai autorisé l'accès

merci

est-ce que tu souhaites une remise à blanc de la colonne E quand on change une valeur dans D ? si oui, je ferai la remise à blanc dans un script avec la validation des données (sinon les formules suffisent mais elles sont un peu complexes)

mets ceci dans l'éditeur de script

function onEdit(event) {
  var f = event.source.getActiveSheet();
  var r = event.source.getActiveRange();
  if ((r.getColumn() == 4) && (f.getName().toString() == 'ANALYSE DES RISQUES ')) {
    r.offset(0, 1).clearContent()
    if (r.getValue() == '') {
      r.offset(0, 1).clearDataValidations();
    }
    else {
      var listes = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('FAMILLE DE RISQUE');
      var values = listes.getRange('2:2').getValues().flat();
      var col = 0
      values.forEach((v, i) => {
        if (v == r.getValue()) { col = +i + 1 }
      })
      if (col > 0) {
        r.offset(0, 1).setDataValidation(SpreadsheetApp.newDataValidation()
          .setAllowInvalid(true)
          .requireValueInRange(listes.getRange(3, col, +listes.getLastRow() - 3), true)
          .build());
      }
      else {
        r.offset(0, 1).clearDataValidations();
      }
    }
  }
}

et enregistre

ensuite retourne dans ta feuille et change les données

Ca fonctionne parfaitement !!!

Un grand merci

Rechercher des sujets similaires à "validation donnees fonction"