Page 1 sur 1

trier une base de données avec validation de données sur range dynamique [résolu]

Publié : 11 juin 2023 15:04
par Louis
Bonjour,

Je m'y connait assez bien sur Google Sheets, j'ai un problème depuis la dernière MAJ de validation de données, pour faire un truc que j'arrivais à faire avant. J'ai d'ailleurs encore des fichiers pour lesquels cela fonctionne (!).

J'ai fait un exemple de fichier pour illustrer ici : https://docs.google.com/spreadsheets/d/ ... edit#gid=0

(Pour recréer l'erreur, trier les données selon la colonne catégorie ou sous catégorie. Puis aller voir dans la validation de données.)

J'ai des données dans un onglet. Je veux créer une aide à la catégorisation de données, sachant qu'il y a une catégorie et une sous catégorie dépendant de la première.

Jusque là c'est assez simple et tout fonctionne, je met mes options en paramètres, j'utilise une fonction FILTER ou INDEX pour limiter le choix aux sous catégories de la catégorie choisie. 

Le problème est que, si je tri les données, alors la validation de données pète un câble complètement, donc il n'est plus possible de trier les données. J'ai même creuser hier pour utiliser des fonctions en ARRAYFORMULA qui étaient écrites dans le titre des colonnes pour qu'elles ne soient pas impactées par le tri des données, mais rien n'y a fait, en fait la plage de validation de données n'est pas impactée par le tri semble-t-il.

Si vous avez des idées je suis preneur.

Merci de m'avoir lu et bonne journée,

Louis

Re: trier une base de données avec validation de données sur range dynamique

Publié : 19 juin 2023 07:53
par NC-Ahmet
Bonjour Louis,

J'espère que tu vas bien.

Il semblerait que tu n'as pas figé les lignes dans tes validations de données, ce qui explique pourquoi elles se décalent lors du tri.

J'imagine que ça doit être embêtant pour toi de tout figer dans la mesure où tu ne pourras pas étendre facilement ta VDD, ce qui implique de repasser dans chaque validation, ligne par ligne... Ce qui est très contraignant quoi.

Personnellement, j'aurais résolu le souci en faisant un script via Google Apps Script. Il s'agirait de faire un script qui se déclenche automatiquement à chaque édition de ta colonne "Catégorie" (en utilisant le déclencheur onEdit) et qui génère pour toi la bonne validation des données directement dans la colonne "Sous-catégorie".

Ici, plus besoin de s'embêter à faire des FILTER ou INDEX / EQUIV car tout sera géré côté script avec une simple fonction de quelques lignes.

Par contre je serais incapable de te dire si ce comportement était possible avant car je n'ai jamais procédé comme tu le fais ici.

Bonne journée !

Ahmet

Re: trier une base de données avec validation de données sur range dynamique

Publié : 19 juin 2023 12:27
par Louis
Merci Ahmet pour ton aide,

La solution App Script ne me convenait pas, mais j'ai finalement réussi à trouver en repassant un moment sur mon ancien fichier. 

J'ai essayé d'utiliser au maximum la même syntaxe, et, bien que cela n'ai pas de sens à mes yeux, ça à fonctionné. 

On dirait que la validation de données avec une plage dynamique limitée (='filtre sur la BDD'!$F2:$O2) ne fonctionne pas, mais que si on ouvre un peu la plage (=F2:2) alors ça fonctionne nickel.

Je ne vois pas la différence entre les deux syntaxes pour autant.

Bonne journée :) 

Louis