[Déplacé VB6 -> VBA]Trier une liste de prix sur excel [Résolu]

Messages postés
49
Date d'inscription
jeudi 22 novembre 2012
Dernière intervention
20 juin 2014
- - Dernière réponse : cs_Jack
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
- 31 août 2012 à 11:22
bonjour à tous,

Je ne crois pas être dans la bonne catégorie mais je rencontre un problème sur Excel 2003: j'ai une liste d'entreprises avec leur chiffre d'affaires en face. il y a 500 lignes qui ont été écrites avec le signe "€" à chaque fois (je ne sais pas si ça apporte quelque chose au problème).

J'aimerai trier ces chiffre par ordre croissant, donc je selectionne la liste des prix et "trier du plus petit au plus grand" mais ça ne fonctionne pas. Pour exemple, au lieu d'avoir :
45 000
90 000
300 000
600 000
40 000 000
91 000 000

J'ai:

300 000
40 000 000
45 000
600 000
90 000
91 000 000

en bref il ne prends en compte que les 1ers chiffres et non la valeur de la case...je vois pas trop comment faire et c'est pour aider mon père donc j'ai pas vraiment le temps de passer des heures à réfléchi dessus.

Si une bonne âme a une idée, d'orientation au moins :)

Merci à vous tous et bonne journée !
Axel
Afficher la suite 

Votre réponse

13 réponses

Meilleure réponse
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
3
Merci
Salut

Parce que tes cellules sont considérées comme des chaines et pas des chiffres.
Du coup, le tri se base sur le premier caractère, celui de gauche.
Si le symbole € y est pour quelque chose :
- Fais un remplacement de € par "" (rien)
- Epure peut-être les espaces qui peuvent suivent tes chiffres, maintenant qu'ils n'ont plus de symboles derrière eux.
- Modifie le format de ta colonne pour que ce soit le format qui s'occupe d'afficher le symbole €. Les chiffres resteront des chiffres.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 97 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_Jack
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
Bonjour,
Je ne crois pas être dans la bonne catégorie

Non ! Et pourquoi y postes-tu, alors ?
Parce que, pour cela également, tu n'as
pas vraiment le temps de passer des heures à réfléchi

Tu la connais, toutefois, la bonne catégorie (tes autres discussions) !!!!
Le tri que tu obtiens montre que ta colonne est formatée en texte et non en nombre !
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Commenter la réponse de ucfoutu
Messages postés
49
Date d'inscription
jeudi 22 novembre 2012
Dernière intervention
20 juin 2014
0
Merci
Parce que sinon j'aurai jamais posté sinon et que oui, j'avais pas le temps.
La bonne catégorie c'est quoi ? je me suis déjà fait allumer la dernière fois donc ça évitera de refaire l'erreur...

bref merci pour l'info, même si ça ne fonctionne pas. Il se débrouillera pour trier manuellement, je n'ai vraiment pas le temps.


Merci et Bonne continuation
Commenter la réponse de Axeu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
Invite-le à venir ici lui-même. Ce ne sera pas plus mal !



________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Commenter la réponse de ucfoutu
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
0
Merci
PS : Les espaces qui démarquent les milliers : Si ces espaces ont été écrits, il faut les supprimer (Remplacer 'Espace' par "" (rien), jusqu'à ce qu'il n'y en ait plus)
Laisse le formatage de cellule s'en occuper, aussi.
Commenter la réponse de cs_Jack
Messages postés
49
Date d'inscription
jeudi 22 novembre 2012
Dernière intervention
20 juin 2014
0
Merci
Salut à toi Jack,

Merci des conseils, j'ai tenté, mais ça ne fonctionne toujours pas

J'ai remplacé € par (rien) avec ctl+f, OK
J'ai utilisé la formule =substitute(valeur;" ";""), les espace ont aussi disparus.
J'ai changé le format, en nombre, monétaire, compta, standard, avec ou sans €, avec ou sans séparateur de milliers, rien n'y fait !

Je me retrouve avec du:
55000
560000
61000
62000
650
...

Autant ça fonctionne quand j'ouvre un nouveau fichier excel, autant là, c'est un fichier qui a tourné entre plusieurs mains dans son taf et qui lui a été transmis en dernier, donc il doit y avoir pleins de trucs qui jouent...donc bon, tant pis, ça lui trie déja le gros, et les quelques lignes ayant 1 chiffre de plus, il les triera manuellement ca l'avance déjà pas mal.

Merci des conseils en tout cas !
bonne continuation !
Commenter la réponse de Axeu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
pour mémoire :
Le tri que tu obtiens montre que ta colonne est formatée en texte et non en nombre !


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Commenter la réponse de ucfoutu
Messages postés
49
Date d'inscription
jeudi 22 novembre 2012
Dernière intervention
20 juin 2014
0
Merci
Je sais mais le format je l'ai changé 1000 fois je vous dis.
Commenter la réponse de Axeu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
et je viens d'essayer.
Aucun problème :
- si formatée en nombre
ou
- si formatée en monétaire (donc y comporis avec le symvole de l'Euro)


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Commenter la réponse de ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
Si tu ne "sais pas" (donc si tu ne sais même pas regarder quel est le format de cette colonne) ===>> ne t'en mêle alors surtout pas et :
Pour mémoire également :
Invite-le à venir ici lui-même. Ce ne sera pas plus mal !


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Commenter la réponse de ucfoutu
Messages postés
49
Date d'inscription
jeudi 22 novembre 2012
Dernière intervention
20 juin 2014
0
Merci
T'as pas l'ai d'avoir lu mon message de ce midi !
Je t'ai dis que j'ai aussi fait ce test avec un nouveau fichier avec des valeurs rentrées par moi et que ça fonctionne, mais pas dans CE fichier qui a tourné dans je ne sais combien de bureaux différents, les formats sont personnalisés je les ai changé ça ne fonctionnait toujours pas dans ce fichier !

Je sais quand même regarder à quel format est ma colonne !
Commenter la réponse de Axeu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Contributeur
Dernière intervention
11 avril 2018
0
Merci
Cela révèle beaucoup d'autres choses et notamment que :
Des cellules de la colonne concernée ont été formatées en texte
puis que
Des saisies de textes incluant le symbole de l'euro y ont été faites

Et alors, forcément, le seul reformatage ne saurait suffire.
Il te faut donc tout remettre en bon ordre avant le tri !
Ainsi, par exemple :

Dim plage_a_corriger As Range
Set plage_a_corriger = Range("C1:C10")
For Each c In plage_a_corriger 'mets ici la plage concernée
  c.Value = Val(c.Text)
Next
With plage_a_corriger
  .NumberFormat = "#,##0 $"
End With

N'effectuer le tri qu'après cette cohérence restituée.

Pour que cela n'arrive plus jamais : mets des protections ou effectue une vérification (voire cette correction) à chaque saisie nouvelle, puisque tu as affaire à des fantaisistes.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement vous dire ce qu'elle contient. Je n'interviendrai qu'en cas de nécessité de développ
Commenter la réponse de ucfoutu
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
0
Merci
Dans les cellules contenant ces chiffres mal interprétés, quand tu cliques sur l'une d'elles, que lis-tu ?
N'y aurait-il pas un symbole ' devant chaque chiffre ?
(Ce symbole force la cellule au format texte)
Si c'est le cas, remplace ' par "" (rien)
Commenter la réponse de cs_Jack

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.