Ordre alphabétique cell avec des chiffres vba
Résolu/Fermé
mmxa1995
Messages postés
28
Date d'inscription
mardi 12 avril 2016
Statut
Membre
Dernière intervention
21 avril 2016
-
19 avril 2016 à 16:18
mmxa1995 Messages postés 28 Date d'inscription mardi 12 avril 2016 Statut Membre Dernière intervention 21 avril 2016 - 21 avril 2016 à 13:08
mmxa1995 Messages postés 28 Date d'inscription mardi 12 avril 2016 Statut Membre Dernière intervention 21 avril 2016 - 21 avril 2016 à 13:08
A voir également:
- Ordre alphabétique cell avec des chiffres vba
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Classer les applications par ordre alphabétique iphone - Guide
- L'indice n'appartient pas à la sélection vba - Forum VB / VBA
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
- Triez ce tableau par ordre alphabétique des prénoms. - Forum Excel
5 réponses
ccm81
Messages postés
10900
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 novembre 2024
2 425
Modifié par ccm81 le 20/04/2016 à 14:03
Modifié par ccm81 le 20/04/2016 à 14:03
Bonjour à tous
Un essai
http://www.cjoint.com/c/FDumckrCCkQ
Cdlmnt
Un essai
http://www.cjoint.com/c/FDumckrCCkQ
Cdlmnt
Pierre1310
Messages postés
8564
Date d'inscription
lundi 21 décembre 2015
Statut
Membre
Dernière intervention
21 juillet 2020
649
19 avril 2016 à 16:20
19 avril 2016 à 16:20
Bonjour,
Les données sont tout le temps de la même longueur?
Les données sont tout le temps de la même longueur?
mmxa1995
Messages postés
28
Date d'inscription
mardi 12 avril 2016
Statut
Membre
Dernière intervention
21 avril 2016
19 avril 2016 à 16:32
19 avril 2016 à 16:32
le code 0123 oui
les caractères varient
les caractères varient
mmxa1995
Messages postés
28
Date d'inscription
mardi 12 avril 2016
Statut
Membre
Dernière intervention
21 avril 2016
19 avril 2016 à 18:10
19 avril 2016 à 18:10
j'utilise la formule =+DROITE(GAUCHE(A101;24);3)
je cherche équivalent en code vba
je cherche équivalent en code vba
Pierre1310
Messages postés
8564
Date d'inscription
lundi 21 décembre 2015
Statut
Membre
Dernière intervention
21 juillet 2020
649
Modifié par Pierre1310 le 20/04/2016 à 08:51
Modifié par Pierre1310 le 20/04/2016 à 08:51
https://docs.microsoft.com/fr-fr/previous-versions/visualstudio/visual-studio-2008/dxs6hz0a(v=vs.90)?redirectedfrom=MSDN
Il faut que tu teste la 6e case de ta chaine de caractère. Si il y a égalité alors la 7e puis la 8e.
Comme ce sont des majuscules, tu n'as qu'a tester le code ascii, A<B<C<D etc...
Il faut que tu teste la 6e case de ta chaine de caractère. Si il y a égalité alors la 7e puis la 8e.
Comme ce sont des majuscules, tu n'as qu'a tester le code ascii, A<B<C<D etc...
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
20 avril 2016 à 08:55
20 avril 2016 à 08:55
Bonjour,
pour appliquer une méthode ou une autre:
Combien as tu de lignes dans ton tableau (environ) ?
pour appliquer une méthode ou une autre:
Combien as tu de lignes dans ton tableau (environ) ?
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
20 avril 2016 à 10:06
20 avril 2016 à 10:06
heu
le nombre est il toujours 0123 ?
le nombre est il toujours 0123 ?
mmxa1995
Messages postés
28
Date d'inscription
mardi 12 avril 2016
Statut
Membre
Dernière intervention
21 avril 2016
21 avril 2016 à 13:08
21 avril 2016 à 13:08
oui toujours 0123
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
C'est du bricolage mais ça répondra à ta demande à condition que les chiffres soient suivis d'un espace... sinon faudra adapter un minimum la macro suivante :
Option Explicit
Sub ordre_alph()
Dim I As Variant
For I = Range("A1").End(xlDown).Row To Range("A" & Rows.Count).End(xlUp).Row
If Val(Cells(I, 1)) <> 0 Then
Cells(I, 24).NumberFormat = "@"
Cells(I, 24) = Mid(Cells(I, 1), 1, InStr(1, Cells(I, 1), " ") - 1)
Cells(I, 1) = Mid(Cells(I, 1), InStr(1, Cells(I, 1), " ") + 1, Len(Cells(I, 1)))
End If
Next I
Range(Cells(Range("A1").End(xlDown).Row, 1), Cells(Range("A" & Rows.Count).End(xlUp).Row, 1)).Select
ActiveWorkbook.ActiveSheet.Sort.SortFields.Clear
ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range(Cells(Range("A1").End(xlDown).Row, 1), Cells(Range("A1").End(xlDown).Row, 1)), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.ActiveSheet.Sort
.SetRange Range(Cells(Range("A1").End(xlDown).Row, 1), Cells(Range("A" & Rows.Count).End(xlUp).Row, 1))
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
For I = Range("A1").End(xlDown).Row To Range("A" & Rows.Count).End(xlUp).Row
Cells(I, 1) = Cells(I, 24).Value & " " & Cells(I, 1).Value
Cells(I, 24).ClearContents
Next I
End Sub
Bonne journée
C'est du bricolage mais ça répondra à ta demande à condition que les chiffres soient suivis d'un espace... sinon faudra adapter un minimum la macro suivante :
Option Explicit
Sub ordre_alph()
Dim I As Variant
For I = Range("A1").End(xlDown).Row To Range("A" & Rows.Count).End(xlUp).Row
If Val(Cells(I, 1)) <> 0 Then
Cells(I, 24).NumberFormat = "@"
Cells(I, 24) = Mid(Cells(I, 1), 1, InStr(1, Cells(I, 1), " ") - 1)
Cells(I, 1) = Mid(Cells(I, 1), InStr(1, Cells(I, 1), " ") + 1, Len(Cells(I, 1)))
End If
Next I
Range(Cells(Range("A1").End(xlDown).Row, 1), Cells(Range("A" & Rows.Count).End(xlUp).Row, 1)).Select
ActiveWorkbook.ActiveSheet.Sort.SortFields.Clear
ActiveWorkbook.ActiveSheet.Sort.SortFields.Add Key:=Range(Cells(Range("A1").End(xlDown).Row, 1), Cells(Range("A1").End(xlDown).Row, 1)), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.ActiveSheet.Sort
.SetRange Range(Cells(Range("A1").End(xlDown).Row, 1), Cells(Range("A" & Rows.Count).End(xlUp).Row, 1))
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
For I = Range("A1").End(xlDown).Row To Range("A" & Rows.Count).End(xlUp).Row
Cells(I, 1) = Cells(I, 24).Value & " " & Cells(I, 1).Value
Cells(I, 24).ClearContents
Next I
End Sub
Bonne journée
mmxa1995
Messages postés
28
Date d'inscription
mardi 12 avril 2016
Statut
Membre
Dernière intervention
21 avril 2016
20 avril 2016 à 15:41
20 avril 2016 à 15:41
MERCI BCP
20 avril 2016 à 18:16
par contre mmxa...
20 avril 2016 à 20:01
Merci et bonne soirée à toi
21 avril 2016 à 13:07