Trier un tableau excel
mchotard
Messages postés
457
Date d'inscription
Statut
Membre
Dernière intervention
-
mchotard Messages postés 457 Date d'inscription Statut Membre Dernière intervention -
mchotard Messages postés 457 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai actuellement un tableau (a1:f50).Avec une macro, je voudrais faire un tri sur la colonne "D". Pas de souci pour le moment, sauf que si je rajoute des lignes, la macro n'est plus complète car les ligne après 50 ne sont plus prises en compte. Voici ma macro
Range("A1:F50").Select
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("D2:D50") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Feuil1").Sort
.SetRange Range("A1:F50")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Merci de m'aider SVP
J'ai actuellement un tableau (a1:f50).Avec une macro, je voudrais faire un tri sur la colonne "D". Pas de souci pour le moment, sauf que si je rajoute des lignes, la macro n'est plus complète car les ligne après 50 ne sont plus prises en compte. Voici ma macro
Range("A1:F50").Select
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("D2:D50") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Feuil1").Sort
.SetRange Range("A1:F50")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Merci de m'aider SVP
A voir également:
- Trier un tableau excel
- Trier un tableau excel - Guide
- Tableau word - Guide
- Imprimer un tableau excel - Guide
- Liste déroulante excel - Guide
- Tableau ascii - Guide
4 réponses
Bonjour
En debut de macro tu rajoutes ces lignes
Dim Ligne As Long
Ligne = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
Ligne va donner le n° de la dernière ligne remplie en colonne A
Ensuite pour chaque instruction de Range de ta macro tu l'écris comme suit :
Range("A1:F" & Ligne)
Cdlmnt
Via
En debut de macro tu rajoutes ces lignes
Dim Ligne As Long
Ligne = Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
Ligne va donner le n° de la dernière ligne remplie en colonne A
Ensuite pour chaque instruction de Range de ta macro tu l'écris comme suit :
Range("A1:F" & Ligne)
Cdlmnt
Via
merci Via
Deux questions?
Le tri se fait bien sur ma colonnes F, Que dois-je faire si pour trier sur la colonne D par exemple.
Enfin ma macro bug sur : .apply, pourquoi?
merci à nouveau pour ton concours qui me dépanne beaucoup.
Cdlt
Deux questions?
Le tri se fait bien sur ma colonnes F, Que dois-je faire si pour trier sur la colonne D par exemple.
Enfin ma macro bug sur : .apply, pourquoi?
merci à nouveau pour ton concours qui me dépanne beaucoup.
Cdlt
Re
C'est cette ligne de macro qui trie et elle trie sur D !! pas sur F
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("D2:D50") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
Je ne peut deviner le bug, il faut poster un exemple de ton fichier sur mon partage.fr; faire créer un lien, le copier et revenir le coller ici
Cdlmnt
Via
C'est cette ligne de macro qui trie et elle trie sur D !! pas sur F
ActiveWorkbook.Worksheets("Feuil1").Sort.SortFields.Add Key:=Range("D2:D50") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
Je ne peut deviner le bug, il faut poster un exemple de ton fichier sur mon partage.fr; faire créer un lien, le copier et revenir le coller ici
Cdlmnt
Via