Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
Sub Tri_H()
Dim Plg As Range
Dim DerCol As Long, DerLig As Long
With Worksheets("Feuil1")
DerCol = .Cells(5, Columns.Count).End(xlToLeft).Column
DerLig = .Cells.SpecialCells(xlCellTypeLastCell).Row
Set Plg = .Range("L1").Resize(DerLig, DerCol - 11)
.Sort.SortFields.Clear
.Sort.SortFields.Add(Plg.Rows(5), _
xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = .Range("L5").Interior.Color
.Sort.SetRange Plg
.Sort.Header = xlYes
.Sort.Orientation = xlLeftToRight
.Sort.Apply
End With
End Sub
Bonjour,
Avec ce code (obtenu pratiquement avec l'enregistreur de macros)
J'ai supposé la dernière colonne en AA, donc plage de L à AA
VB:
Sub Tri_H()
Dim Plg As Range
Set Plg = Range("A5").CurrentRegion.Offset(, 11).Resize(, 16)
With ActiveWorkbook.Worksheets("Feuil1").Sort
.SortFields.Clear
.SortFields.Add(Plg.Rows(1), _
xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = RGB(255, 255, 0)
.SetRange Plg
.Header = xlYes
.Orientation = xlLeftToRight
.Apply
End With
End Sub
Un grand merci pour ton retour. Ca fonctionne nikel mais le problème c'est que je sais jamais quelle sera la couleur, la dernière colonne et la dernière ligne ça varie en fonction des données 🤪
Bonjour,
Avec ce code (obtenu pratiquement avec l'enregistreur de macros)
J'ai supposé la dernière colonne en AA, donc plage de L à AA
VB:
Sub Tri_H()
Dim Plg As Range
Set Plg = Range("A5").CurrentRegion.Offset(, 11).Resize(, 16)
With ActiveWorkbook.Worksheets("Feuil1").Sort
.SortFields.Clear
.SortFields.Add(Plg.Rows(1), _
xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = RGB(255, 255, 0)
.SetRange Plg
.Header = xlYes
.Orientation = xlLeftToRight
.Apply
End With
End Sub
Bonjour,
Pour la dernière colonne, calcul rajouté - Toujours sur la base de la première colonne à trier -> colonne "L" (soit 11ème colonne)
Pour la couleur de tri, voir avec une voyante... 🙂
Ou donner un tout petit peu plus de précisions (méthode de choix)
VB:
Sub Tri_H()
Dim Plg As Range
Dim DerCol As Long
DerCol = Worksheets("Feuil1").Cells(5, Columns.Count).End(xlToLeft).Column
Set Plg = Range("A5").CurrentRegion.Offset(, 11).Resize(, DerCol - 11)
With ActiveWorkbook.Worksheets("Feuil1").Sort
.SortFields.Clear
.SortFields.Add(Plg.Rows(1), _
xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = RGB(255, 255, 0)
.SetRange Plg
.Header = xlYes
.Orientation = xlLeftToRight
.Apply
End With
End Sub
Bonjour,
Pour la dernière colonne, calcul rajouté - Toujours sur la base de la première colonne à trier -> colonne "L" (soit 11ème colonne)
Pour la couleur de tri, voir avec une voyante... 🙂
Ou donner un tout petit peu plus de précisions (méthode de choix)
VB:
Sub Tri_H()
Dim Plg As Range
Dim DerCol As Long
DerCol = Worksheets("Feuil1").Cells(5, Columns.Count).End(xlToLeft).Column
Set Plg = Range("A5").CurrentRegion.Offset(, 11).Resize(, DerCol - 11)
With ActiveWorkbook.Worksheets("Feuil1").Sort
.SortFields.Clear
.SortFields.Add(Plg.Rows(1), _
xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = RGB(255, 255, 0)
.SetRange Plg
.Header = xlYes
.Orientation = xlLeftToRight
.Apply
End With
End Sub
C'est bon ça fonctionne merci beaucoup CousinHub pour ton aide 💪 !!!!!!!!
Voici le code Finale pour ceux que ça intéresse.
VB:
Sub Tri_H()
Dim Plg As Range
Dim DerCol As Long
DerCol = Worksheets("Feuil1").Cells(5, Columns.Count).End(xlToLeft).Column
Set Plg = Range("A5").CurrentRegion.Offset(, 11).Resize(, DerCol - 11)
With ActiveWorkbook.Worksheets("Feuil1").Sort
.SortFields.Clear
.SortFields.Add(Plg.Rows(1), _
xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = Range("L5").Interior.Color
.SetRange Plg
.Header = xlYes
.Orientation = xlLeftToRight
.Apply
End With
End Sub
Re-,
Comment tu déroules le code?
En mode pas-à-pas, ou en auto?
Si en mode pas-à-pas, il faut bien aller jusqu'à ".Apply"
Sinon, est-ce que l'onglet se nomme bien "Feuil1"?
Et est-ce que cet onglet est bien activé?
Essaie en remplaçant ainsi :
VB:
Sub Tri_H()
Dim Plg As Range
Dim DerCol As Long
With Worksheets("Feuil1")
DerCol = .Cells(5, Columns.Count).End(xlToLeft).Column
Set Plg = .Range("A5").CurrentRegion.Offset(, 11).Resize(, DerCol - 11)
.Sort.SortFields.Clear
.Sort.SortFields.Add(Plg.Rows(1), _
xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = .Range("L5").Interior.Color
.Sort.SetRange Plg
.Sort.Header = xlYes
.Sort.Orientation = xlLeftToRight
.Sort.Apply
End With
End Sub
Re-,
Comment tu déroules le code?
En mode pas-à-pas, ou en auto?
Si en mode pas-à-pas, il faut bien aller jusqu'à ".Apply"
Sinon, est-ce que l'onglet se nomme bien "Feuil1"?
Et est-ce que cet onglet est bien activé?
Essaie en remplaçant ainsi :
VB:
Sub Tri_H()
Dim Plg As Range
Dim DerCol As Long
With Worksheets("Feuil1")
DerCol = .Cells(5, Columns.Count).End(xlToLeft).Column
Set Plg = .Range("A5").CurrentRegion.Offset(, 11).Resize(, DerCol - 11)
.Sort.SortFields.Clear
.Sort.SortFields.Add(Plg.Rows(1), _
xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = .Range("L5").Interior.Color
.Sort.SetRange Plg
.Sort.Header = xlYes
.Sort.Orientation = xlLeftToRight
.Sort.Apply
End With
End Sub
Sub Tri_H()
Dim Plg As Range
Dim DerCol As Long, DerLig As Long
With Worksheets("Feuil1")
DerCol = .Cells(5, Columns.Count).End(xlToLeft).Column
DerLig = .Cells.SpecialCells(xlCellTypeLastCell).Row
Set Plg = .Range("L5").Resize(DerLig - 4, DerCol - 11)
.Sort.SortFields.Clear
.Sort.SortFields.Add(Plg.Rows(1), _
xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = .Range("L5").Interior.Color
.Sort.SetRange Plg
.Sort.Header = xlYes
.Sort.Orientation = xlLeftToRight
.Sort.Apply
End With
End Sub
Sub Tri_H()
Dim Plg As Range
Dim DerCol As Long, DerLig As Long
With Worksheets("Feuil1")
DerCol = .Cells(5, Columns.Count).End(xlToLeft).Column
DerLig = .Cells.SpecialCells(xlCellTypeLastCell).Row
[/QUOTE]
[QUOTE="Cousinhub, post: 20633242, member: 13730"]
Set Plg = .Range("L5").Resize(DerLig - 4, DerCol - 11)
.Sort.SortFields.Clear
.Sort.SortFields.Add(Plg.Rows(1), _
xlSortOnCellColor, xlAscending, , xlSortNormal).SortOnValue.Color = .Range("L5").Interior.Color
.Sort.SetRange Plg
.Sort.Header = xlYes
.Sort.Orientation = xlLeftToRight
.Sort.Apply
End With
End Sub
Alors là le tri fonctionne mais à moitié 😅
En faite le tri doit se faire par couloir (situer à L5)
mais il doit prendre en compte aussi les lignes de 1 à 4 exemple le tri doit se faire de la colonne L1 à L(dernière ligne) ( en gros toute la colonne doit bouger)
- 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