[VBA] - Classement des données selon ordre personnalisé

Bonsoir,

J'ai un souci depuis quelques temps que je n'ai jamais pu résoudre.

Lorsque je classe des données numériques dans l'ordre alphabétique, je souhaite faire apparaître des données telles que : "< 0,01 ha" ou "non impacté" en dernier, après que les données numériques aient été classées.

J'y parviens pour "non impacté" mais pas moyen que ça fonctionne pour "< 0,01 ha" Savez-vous d'où ça peut provenir ???

Je joins un document avec le code qui correspond au classement si vous souhaitez y jeter un œil.

Bonne soirée !

Salut Le Drosophile,

Je joins un document avec le code qui correspond au classement si vous souhaitez y jeter un œil.

oui ca serait mieux

Salut le Drosophile,

Salut m3ellem1,

quand tu dis :

des données numériques dans l'ordre alphabétique

j'imagine que tu penses à leur classement ASCII ?

Si ton format de colonne est sur "General", ça devrait fonctionner... en tout cas chez moi!

Un fichier, peut-être?

A+

Oups j'ai oublié de joindre le fichier, que voici.

Même en format standard (ou autre) j'ai le même problème.

Bonne journée

Salut Le Drosophile,

aucun souci, ici : classement comme souhaité en utilisant la fonction 'Accueil' - Tri personnalisé.

Je ne vois pas comment t'aider...

A+

Salut Le Drosophile,

aucun souci, ici : classement comme souhaité en utilisant la fonction 'Accueil' - Tri personnalisé.

Je ne vois pas comment t'aider...

A+

Bonjour, Tu as tout à fait raison !

Bonjour,

Pour faire le classement manuellement, je n'ai pas de problème.

Mais le classement doit se faire automatiquement, et en VBA ce classement ne fonctionne plus.

C'est un double classement :

Très fort > fort > modéré > faible > très faible > nul

Puis

Du plus grand au plus petit > "<0,01 ha".

J'arrive à le faire fonctionner pour tout, sauf pour "<0,01 ha" c'est bizarre...

Salut,

Du coup vous n'avez pas ce problème ? Pourtant sur mon document le soucis de classement est bel et bien présent

Bonjour,

"<0.01ha" est un texte, sur D tu fais un tri décroissant.

Sur un tel tri les textes se trouve premier.

Comme tu l'as fait précédé d'un tri sur J, il se trouve en tête des 'Nul'.

Si tu veux l'avoir en bas, rentre-le en numérique 0.01, et joue sur le format pour afficher "<0.01 ha"

eric

Bonsoir,

Pourtant si je renseigne également "non impacté", le classement le met bien à la fin. C'est bien un texte et celui-ci ne me pose pas de problème.

Peut-être que le format texte avec des chiffre le gène, je vais tester votre solution.

Bonne journée !

pour le constater, encore eut-il fallut que ton fichier ait un "non impacté"

Bonsoir,

Pour l'exemple, j'ai mis à jour le document en ajoutant des "non impacté".

Le classement se fait bien, mais pas sur "< 0,01".

Je n'ai pas encore testé de modifié le format.

A plus tard

Bonsoir,

Ce problème est le seul qui reste sur mon document, je ne sais pas comment faire fonctionner ce classement...

Bonjour,

tu n'as pas fait ce que je te proposais pour le format personnalisé. Met : [<=0.01]"<0.01 ha";[>0.01]###0.00" ha"

Et saisis 0.01 (ou moins, 0 si ça t'arrange) au lieu du texte "<0.01". Il faut que ce soit un numérique <=0.01.

2019 11 20 18 44 24

eric

Bonsoir,

Pour le moment, l'utilisation de [<=0.01]"<0.01 ha";[>0.01]###0.00" ha" donne une erreur de compilation.

Set ws2 = Worksheets("VNEI (EI)")
lrws2 = ws2.Cells(Rows.Count, 2).End(xlUp).Row

'Spécifier <0,01 ha si la valeur est inférieure
                With ws2.Cells(1, 4).Resize(lrws2)
                    .NumberFormat = [<=0.01]"<0.01 ha";[>0.01]###0.00" ha"
                End With

Bonjour,

Essaie avec :

"[<=0.01]""< 0,01 ha"";[>0.01]###0"" ha"""

Oui, en vba il faut doubler les "

eric

Ah mais oui ! Merci

Les premiers tests donnent bien ce que je voulais. Il me reste à vérifier à partir de différents jeux de données pour en être bien sur. J'ai eu beaucoup de soucis avec ces formats de nombres... je comprends mieux la manière dont fonctionnent les formats et espère mieux les utiliser désormais !

Bonne journée !

Reponse en double...

Rechercher des sujets similaires à "vba classement donnees ordre personnalise"