Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Trier les données d'une colonne.

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Jojo973

XLDnaute Occasionnel
Supporter XLD
Bonjour la communauté.
Je développe un petit outil qui permet de renommer des pdf. Une des étapes consiste à récupérer le nom des fichiers dans un dossier. Ils sont sous la forme :
1_Splitom.pdf
9_Splitom.pdf
8_Splitom.pdf
7_Splitom.pdf
6_Splitom.pdf
5_Splitom.pdf
4_Splitom.pdf
3_Splitom.pdf
2_Splitom.pdf
19_Splitom.pdf
18_Splitom.pdf
17_Splitom.pdf
16_Splitom.pdf
15_Splitom.pdf
14_Splitom.pdf
13_Splitom.pdf
12_Splitom.pdf
11_Splitom.pdf
10_Splitom.pdf

Ces noms n'étant pas dans l'ordre, j'ai fais une macro de tri mais je n'obtiens pas ce que je souhaite, un classement de 1_ à 19_

J'ai essayé différent mode de tri mais je bloque.
Un coup de main serait le bien venu.
En pj le fichier avec une macro de tri de base.

Merci à vous
 

Pièces jointes

Bonjour Jojo, Bsalv,
Classique, car "10" sera devant "2_" puisque tri alpha.
Une solution en rajoutant un 0 si <10 puis tri puis suppression des 0, avec :
VB:
Sub tri_split()
Worksheets("Feuil1").Sort.SortFields.Clear
Set Plage = Range("A2:A20")
For Each cell In Plage
    If Mid(cell, 2, 1) = "_" Then Range(cell.Address) = "0" & cell.Value
Next cell
Plage.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes
For Each cell In Plage
    If Mid(cell, 1, 1) = "0" Then Range(cell.Address) = Mid(cell.Value, 2)
Next cell
End Sub
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…