Essaye ma fonction sinon ;)
Version imprimable
Essaye ma fonction sinon ;)
J'ai testé le Collage spécial Valeur, mais rien ne change, mes données restent à droite.
J'ai aussi essayé autre chose c'est de" remplacer manuellement avec Ctrl+H " /" par" / "la je constate que cela fonctionne et mes données passe a droite .
Le Hic car il y a evidemment un Hic c'est que j'ai créé une macro pour automatiser ce changement, mais le changement ne s'opere que sur quelque cellules...Quelle Mer@*!!!
Voici le code :
Et maintenant passon à ta derniere Option, en esperant que ce soit la bonne!!!Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 Sub TRIDATE() Sheets("Gestion").Activate lDerniereLigneReelle = Range("A1").End(xlDown).Address lDerniereLigneReelle = Range(lDerniereLigneReelle).Row For i = 1 To lDerniereLigneReelle Range("K" & i).Select ActiveCell.Replace What:="/", Replacement:="/", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False Next i Columns("K:K").Select Selection.NumberFormat = "General" DoEvents Cells.Select Selection.Sort Key1:=Range("K1"), Order1:=xlAscending, Header:=xlYes, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom DoEvents Columns("K:K").Select Selection.NumberFormat = "d/m/yyyy" End Sub
PS
Désolé Illight mais Ouskel semble avoir bien saisie mon pb et me propose vraiment du sur mesure cependant si ma correspondance avec Ouskel n'aboutit a rien (ce qui serait dommmmmmage) je me pencherai sur ta solution!
ALors enfin j'ai trouvé une solution ,(pas trés joli) mais qui fonctionnnnne:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 Sub TRIDATE() Sheets("Gestion").Activate lDerniereLigneReelle = Range("A1").End(xlDown).Address lDerniereLigneReelle = Range(lDerniereLigneReelle).Row For i = 2 To lDerniereLigneReelle Range("AA" & i).Select ActiveCell.FormulaR1C1 = "=RC[-16]*1" Next i Columns("AA:AA").Select Selection.NumberFormat = "General" DoEvents Cells.Select Selection.Sort Key1:=Range("AA1"), Order1:=xlAscending, Header:=xlYes, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom DoEvents Columns("K:K").Select Selection.NumberFormat = "dd/mm/yyyy" End Sub
Je je copie dans une nvelle colonne mes dates que je multiplie par 1
puis le code d'ouskel appliqué a cette nvellle colonne
et voila le tour et joué.
Merci Ouskel
Si vous savez comment Amelioré cela dites moi sinon je passe cette discussion en "Résolu" d'ici peu!!
Merci
Tu peux simplifier ton code et accélérer ta procédure
Bien content que tu aies trouvé une solution :roll:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Sub TRIDATE() Application.screenupdating = False Sheets("Gestion").Activate lDerniereLigneReelle = Range("A1").End(xlDown).Row For i = 2 To lDerniereLigneReelle Range("AA" & i).FormulaR1C1 = "=RC[-16]*1" Next i Columns("AA:AA").NumberFormat = "General" DoEvents Cells.Sort Key1:=Range("AA1"), Order1:=xlAscending, Header:=xlYes, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom DoEvents Columns("K:K").NumberFormat = "dd/mm/yyyy" Application.screenupdating = true End Sub
Bonne soirée