Trie selectif en VBA

bonjour à tous,

voici mon problème dans un tableau je fais 4 trie successifs pour classer des personnels:

premier trie:

par section ( RAS )

second trie:

par fonction ( problème )

troisième trie:

par grade ( ras)

dernier trie par ordre alphabétique

mon problème vient du fait que dans mon 2nd trie j'ai:

6 fonctions importantes que je souhaite conserver dans mon trie et 2 fonctions secondaire (armurier, soutier) que je ne souhaite pas faire intervenir dans mon trie

hélas le trie prends l'ensemble des fonctions donc:

comment faire pour que le trie puisse classer les pers selon les 6 fonctions. (CDU,OA,ADU,CDS,SOA,CDG) et exclure le 2 fonctions secondaire?

je vous mets ci-dessous le code:

Sheets(f).ListObjects("Planning").Sort.SortFields. _

Add Key:=Range("Planning[[#All],[Fonction]]"), SortOn:=xlSortOnValues, _

Order:=xlAscending, CustomOrder:= _

"CDU,OA,ADU,CDS,SOA,CDG", DataOption:=xlSortNormal

merci à vous tous

jb

Bonjour,

Un tri se fait sur la colonne avec toutes les valeurs différente, le fait de vouloir exclure deux de ces valeurs vous oblige, je pense, à faire un filtre pour "supprimer" ces deux valeurs puis après appliquer les filtres.

@ bientôt

LouReeD

bonjour loureed

merci pour cette réponse

auriez vous une début de code ou un exemple?

merci d'avance

cordialement

jb

re,

une personne aurait une idée?

SVP

jb

Bonsoir,

voici ce que donne l'enregistreur de macro :

ActiveSheet.ListObjects("Tableau1").Range.AutoFilter Field:=2, Criteria1:= _

Array("az", "cd", "cf", "de", "hj", "sz", "yu"), Operator:=xlFilterValues

où :

"Tableau1" est le nom du tableau

"Field 2" le numéro de la colonne

"Criteria1" les critères de filtre où il faut indiquer les valeurs à garder, comme vos valeurs sont connues, il vous faudra simplement renseigner le tableau de ces valeurs avec le "Array" :

Array("CDU","OA","ADU","CDS","SOA","CDG")

une fois le filtre effectué, il ne vous reste plus qu'à appliquer vos différents tris dans l'ordre voulu afin d'arriver à l'affichage souhaité.

@ bientôt

LouReeD

merci pour cette réponse

mais le résultat n'est pas celui que j'espère, la raison est mon explication

je te joins une photo afin de mieux appréhender le pb

image

Le classement de la ligne 97 à 104 ( lire04) est parfait

le classement de la ligne105(05) à107(07) n'est pas bon car il prend en compte le mot armurier et soutier.

je voudrais que ces personnes soient classé parmi leur paire ( CCH, Cpl OU 1cl)

le code que tu m'as donné ( merci) m'enlève toutes les personnes qui n'ont pas de fonction , je souhaite les conserver

merci à toi d'avance pour ton aide

jb

Je suis désolé... Mais à aucun moments il est questions des personnels sans fonction...

Maintenant, il vous suffit dans le code fournit de spécifier qu'il faut garder "les vides" en ajoutant :

, "="

Ce qui donne : Array("CDU","OA","ADU","CDS","SOA","CDG","=")

@ bientôt

LouReeD

re,

merci désolé d'être lourd.

maintenant j'ai récupérer les pers sans fonction cool mais pas mais soutiers et mais armuriers

on progresse

question:

comment classer les soutiers et les armuriers parmi leur paire de "grade" (colonne 2) sans prendre en compte leur fonction?

merci à toi

jb

Avez vous le fichier ? Car là...

Bon j'ai compris, par rapport à votre (jolie) image il faudrait que les CCH soient en premier, puis les CPL puis les 1CL

et ce quelques soient leur fonction si différentes des 6 premières...

Je ne vais pas créer un fichier qui existe... Alors, vous l'avez ce fichier ?

@ bientôt

LouReeD

merci

sur votre boite mail

merci

jb

Ouhla... Excusez moi pour le retard dans mes réponses...

C'était quoi la question d'avant ?

Bon va falloir que je m'y mette !

@ bientôt

LouReeD

merci pour ta réponse,

j'ai fait au plus simple j'ai créer une second colonne

merci pour le temps que tu m'as consacré

cordialement

jb

Bonsoir,

voilà, une nouvelle colonne, mais avec quoi dedans ? Une formule qui permet de distinguer les Fonctions "suivies" et les autres ou bien carrément une colonne pour les fonctions suivies et une colonne nouvelle pour les autres ?

@ bientôt

LouReeD

Nota : et la question d'avant par rapport au fichier, l'histoire de la ligne G30:OM30, c'est réglé ou faut-il toujours trouver une solution ?

re,

j'ai fait une colonne avec trie (CDU,OA.....)et une sans trie ( soutier,.....)

oui, j'ai réussi à trouver aussi

là mais cela dépasse mais compétence serait l'optimisation du code

encore merci pour tout

jb

Rechercher des sujets similaires à "trie selectif vba"