Problème tri et validation de données

Bonjour à tous,

Jusqu'à présent j'ai toujours réussi à trouver une solution à mes problèmes en regardant sur le forum mais cette fois-ci je ne trouve pas la solution.

Mon problème est identique au problème soulevé ici il y a longtemps (Tri et validation de donnée).

Mon problème est le suivant : j'ai un fichier de suivi des notices pour de nombreux produits et chaque notice peut avoir plusieurs indices différents (selon si archivés, en application ou en projet). J'ai mis une validation de données sur les cellules de la colonne B (onglet principal) dont la source et dans le 2ème onglet.

Mon problème est que lorsque j'applique un tri sur la colonne A; les listes de validation de données ne suivent pas et ne propose plus les choix d'indices des bonnes notices.
Mon fichier étant trop lourd, j'ai préparé une version simple pour illustrer mon exemple. Je suis à la recherche d'une macro qui réappliquerait la bonne liste de validation à la bonne ligne mais mes connaissances en VBA sont limitées.

Merci d'avance pour vos conseils

Bonjour Ant_Oo,

Pas certain d'avoir bien compris ton souci. Si tu sélectionne l'entièreté de la table et que tu tries sur la première colonne... toute la table suit.

Je te renvoie ton classeur avec un petit VBA qui trie ton onglet Principal sans problème.

Je suppose qu'il y a autre chose qui te gène mais je ne vois pas quoi.

A bientôt

Chris

Bonjour à tous,

Une autre proposition :

Ton exemple n'est pas representatif de ce que tu veux, car il y aura des solutions pour cet exemple qui ne fonctionneront pas dans toutes les configurations.

Merci pour vos retours à tous les deux;

En effet peut être me suis-je mal expliqué et le fichier posté en exemple n'était pas le reflet de ma problématique. Aussi je joins mon fichier de travail anonymisé et simplifié avec un nombre de références restreintes.

Dans le 1er onglet; les colonnes à en-têtes rose sont celles dont les cellules ont une validation de donnée basée sur une liste dans l'onglet Validation de données.

Concernant la colonne indice chaque cellule fait appel à une liste de validation qui lui ai propre. Ainsi dans le fichier joint, pour la Notice A (ligne 4), la cellule E4 propose bien la sélection des indices A, B, C ou D.

Si on tri de manière décroissante; les informations suivent; toutefois si je veux sélectionner un indice différent; puisque la ligne Notice A et maintenant ligne 7; la cellule E7 me propose les indices X et Y car les listes de validation affectées aux cellules de la colonne E ne suivent pas le tri.

c'est ce que fait ce fichier

Crdlmt

Salut Ant_Oo,
Salut les as,

Premier jet! N'oublions pas VBA!
Tu supprimes tes listes de validation en [E:E] et tu laisses faire VBA

        Target.Validation.Delete
        For Each NamedCells In ThisWorkbook.Names
            If NamedCells.Name = "Formula" Then _
                ActiveWorkbook.Names("Formula").Delete: _
                Exit For
        Next
        With Worksheets("Validation des données")
            iCol = .Rows(1).Find(what:=Range("C" & iRow).Value, lookat:=xlWhole, LookIn:=xlValues, searchdirection:=xlNext).Column
            iRow = .Range(Chr(64 + iCol) & Rows.Count).End(xlUp).Row
            Set rCells = Worksheets("Validation des données").Range(Chr(64 + iCol) & "2:" & Chr(64 + iCol) & iRow)
            ActiveWorkbook.Names.Add Name:="Formula", RefersTo:=rCells
        End With
        Target.Validation.Add Type:=xlValidateList, Formula1:="=Formula"

A+

12antoo.xlsm (57.78 Ko)

Bonjour Djidji, pardon j'étais solicité quand j'ai regardé ton fichier et n'avais pas pu prêter pleinement attention à ta solution. J'ai pu prendre le temps et ai réussi à adapter ta solution à mon besoin et ca marche parfaitement. Un grand merci. Bonne journée

Bonjour Curulis, merci pour ton retour.
Je garde précieusement ta réponse dont j'aurai sans doute besoin de l'utiliser prochainement

Bonne journée

Rechercher des sujets similaires à "probleme tri validation donnees"