Trier par rapport a la date courante vba
Fermé
hshs
-
17 juin 2016 à 13:48
thev Messages postés 1883 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 6 novembre 2024 - 20 juin 2016 à 11:51
thev Messages postés 1883 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 6 novembre 2024 - 20 juin 2016 à 11:51
A voir également:
- Trier par rapport a la date courante vba
- Excel trier par ordre croissant chiffre - Guide
- Ajoutez à la liste de contacts ana le goff, inscrite le 27 novembre 2015, dans la catégorie i. puis triez les contacts en les classant : par ordre alphabétique de leur nom de famille (critère principal), puis par date du plus récent au plus ancien (critère secondaire). quel mot apparaît à la verticale dans la colonne "catégorie" entre les lignes 200 et 209 (en-tête compris) ? ✓ - Forum Word
- Trouver une date de naissance gratuit - Forum Webmastering
- Plan rapport de stage - Guide
5 réponses
f894009
Messages postés
17205
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
19 octobre 2024
1 709
17 juin 2016 à 13:56
17 juin 2016 à 13:56
Bonjour,
Annee en cours:
Annee en cours:
Sub test() AnCour = Year(Date) End Sub
Bonjour,
Ce que j'essaye de faire c'est de trier mon tableau selon les valeurs des pays de l'annee courante cad il doit selectiner l'annee 2016 et trier les valeurs des pays par ordre descendant
2014 2015 2016 2017
FR 0 5 22 1
AT 0 6 3 0
AU 0 0 14 0
BE 0 4 3 0
BG 0 5 0 0
BY 0 0 0 0
CA 0 0 1 0
CH 0 0 10 0
CY 0 0 0 0
CZ 1 11 30 0
DE 0 12 0 0
DK 0 0 20 0
EE 0 2 1 0
EL 0 3 18 0
ES 0 8 13 0
EU 0 0 14 0
J ai fait ce code mais ca marche pas, Est ce que vous pourrez m'aider?
f (CurCell.Value = Year(Now())) = True Then
Range("D327:D375").Select
ActiveWorkbook.Worksheets("Ratios").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Ratios").Sort.SortFields.Add Key:=Range( _
"D328:D375"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Ratios").Sort
.SetRange Range("D327:D375")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Ce que j'essaye de faire c'est de trier mon tableau selon les valeurs des pays de l'annee courante cad il doit selectiner l'annee 2016 et trier les valeurs des pays par ordre descendant
2014 2015 2016 2017
FR 0 5 22 1
AT 0 6 3 0
AU 0 0 14 0
BE 0 4 3 0
BG 0 5 0 0
BY 0 0 0 0
CA 0 0 1 0
CH 0 0 10 0
CY 0 0 0 0
CZ 1 11 30 0
DE 0 12 0 0
DK 0 0 20 0
EE 0 2 1 0
EL 0 3 18 0
ES 0 8 13 0
EU 0 0 14 0
J ai fait ce code mais ca marche pas, Est ce que vous pourrez m'aider?
f (CurCell.Value = Year(Now())) = True Then
Range("D327:D375").Select
ActiveWorkbook.Worksheets("Ratios").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Ratios").Sort.SortFields.Add Key:=Range( _
"D328:D375"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Ratios").Sort
.SetRange Range("D327:D375")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
thev
Messages postés
1883
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
6 novembre 2024
691
Modifié par thev le 19/06/2016 à 19:27
Modifié par thev le 19/06/2016 à 19:27
Bonjour,
Essayer ce code (en supposant que les années se trouvent au début de la plage considérée) :
Essayer ce code (en supposant que les années se trouvent au début de la plage considérée) :
Sub tri()
With ActiveWorkbook.Worksheets("Ratios").Range("D327:D375")
Set cellule_année = .Find(Year(Date))
.Sort key1:=cellule_année, order1:=xlAscending, Header:=xlYes
End With
End Sub
ca n a pas marché ca trie pas
en plus je veux savoir comment faire pour que le programme selectionne la date courante lui meme et qu il selectionne le range a trier et non pas lui donner la wone comme ce que j qi fait D327:D375
en plus je veux savoir comment faire pour que le programme selectionne la date courante lui meme et qu il selectionne le range a trier et non pas lui donner la wone comme ce que j qi fait D327:D375
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
thev
Messages postés
1883
Date d'inscription
lundi 7 avril 2008
Statut
Membre
Dernière intervention
6 novembre 2024
691
Modifié par thev le 20/06/2016 à 12:04
Modifié par thev le 20/06/2016 à 12:04
Je crois comprendre que les années ne se trouvent pas à la ligne 327.
De plus, je pense qu'il faut sélectionner la plage A327:D375 et non D327:D375.
ci-dessous nouveau code
De plus, je pense qu'il faut sélectionner la plage A327:D375 et non D327:D375.
ci-dessous nouveau code
Sub tri()
' recherche de la cellule contenant l'année en cours dans la plage de la feuille utilisée
Set cellule_année = ActiveWorkbook.Worksheets("Ratios").UsedRange.Find(Year(Date))
'tri de la plage A327:D375 avec pour clé la première cellule se trouvant dans la colonne de l'année
With ActiveWorkbook.Worksheets("Ratios").Range("A327:D375")
.Cells.Sort key1:=.Cells(1, cellule_année.Column), order1:=xlAscending, Header:=xlNo
End With
End Sub
--