• Initiateur de la discussion Initiateur de la discussion nrdz83
  • Date de début Date de début

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 !

nrdz83

XLDnaute Impliqué
Bonjour à tous et mes meilleurs voeux.

Voila j'ai une Base de données dans excel et en colonne A des numéros incrémentés ainsi 001 / 2012; 002 / 2012 et ainsi de suuite jusqu'a par exemple 254 / 2012.

Vu la nouvelle année je veux incrémenter mes numéros ainsi 001 / 2013; 002 / 2013 et ainsi de suite.

A la fin de la saisie dans ma feuille excel j'appel ce code afin de trier les données:
Code:
Range("A3:L5500").Select
  ActiveWorkbook.Worksheets("BD_Confection").Sort.SortFields.Clear
  ActiveWorkbook.Worksheets("BD_Confection").Sort.SortFields.Add Key:=Range( _
                                                                      "A3:A5500"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
                                                                 xlSortNormal
  With ActiveWorkbook.Worksheets("BD_Confection").Sort
    .SetRange Range("A3:L5500")
    .Header = xlGuess
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
  End With
  ActiveWindow.ScrollColumn = 5
  ActiveWindow.ScrollColumn = 4
  ActiveWindow.ScrollColumn = 3
  ActiveWindow.ScrollColumn = 2
  Range("B3").Select


Il se trouve que mes numéros ce range ainsi
001 / 2012
001 / 2013
002 / 2013
002 / 2012
003 / 2012

Comment faire pour que mon trie se fasse d'abord par ... / 2012 puis ... / 2013 ?

Faut-il mettre le format des cellules en format texte?



Par avance merci pour vos lumières
 
Re : aide sur trie

Bonsoir,

Une méthode classique :

- insérer une colonne auxiliaire B

- séparer les 2 nombres : en colonne A la partie gauche, en colonne B la partie droite (année)

- trier sur la colonne B puis sur la colonne A

- re-concaténer en colonne A les 2 nombres

- supprimer la colonne B.

Il nous faudrait le fichier pour faire tout ça...

A+
 
Re : aide sur trie

re bonsoir à tous

merci job75 mais rajouter une colonne ça va m'obliger à tout refaire mon programme.

Merci tout de même pour tes conseils, je vais bidouiller mon code au lieu de le mettre de A3;L5500 je vais mettre A254:L5500 (début de saisie en 2013)

C'est de la bidouille mais j'aurais à le faire qu'une fois par an lol.

Merci encore

amitiés
 
Re : aide sur trie

Bonjour nrdz83,

La colonne B auxiliaire serait supprimée en fin de procédure, j'espère que vous l'avez compris.

Cela dit on peut s'en passer moyennant 2 boucles :

Code:
Sub Trier()
Dim tablo, i As Long, s
tablo = Range("A2", [A65536].End(xlUp))
If Application.CountA(tablo) = 1 Then Exit Sub
For i = 1 To UBound(tablo)
  s = Split(Replace(tablo(i, 1), " ", ""), "/")
  If UBound(s) = 1 Then tablo(i, 1) = s(1) & "/" & s(0)
Next
[A2].Resize(i - 1) = tablo
[A2:B2].Resize(i - 1).Sort [A2], Header:=xlNo 'tri
tablo = Range("A2", [A65536].End(xlUp))
For i = 1 To UBound(tablo)
  s = Split(tablo(i, 1), "/")
  If UBound(s) = 1 Then tablo(i, 1) = s(1) & " / " & s(0)
Next
[A2].Resize(i - 1) = tablo
End Sub
Fichier joint.

A+
 

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

Réponses
17
Affichages
1 K
L
Réponses
9
Affichages
1 K
B
  • Question Question
Réponses
2
Affichages
776
Benjy51190
B
C
Réponses
4
Affichages
1 K
cecenico
C
T
  • Question Question
Réponses
1
Affichages
2 K
Réponses
29
Affichages
3 K
L
Réponses
2
Affichages
1 K
L
B
Réponses
9
Affichages
1 K
BOUBRED
B
Réponses
5
Affichages
1 K
C
  • Question Question
Réponses
23
Affichages
4 K
Retour