VBA Tri sur une plage de cellules-nombre de lignes indéfini

Bonjour,

J'ai une question concernant le code ci dessous. La première partie du code est en caractère de couleur noire.

la deuxième partie du code est en couleur bleue et en gras. C'est sur cette deuxième partie que j'ai une intérrogation. C'est un code qui permet de faire un tri sur ma plage de cellule. Elle a été faite avec la macro automatique. L'inconvénient est que ce tri s'arrête à la ligne 384.

Quel serait le code qui permettrait de faire le tri de ma plage de cellule sur un nombre indéfini de lignes ?

Public Sub Supprimer_doublons3()

' version Excel 2007 et + à UTILISER AVEC LE LOT PROMO

Dim wsSource As Worksheet, wsCible As Worksheet, nbligne As Long

Application.ScreenUpdating = False

Set wsSource = Worksheets("Feuil1")

Set wsCible = Worksheets("Feuil2")

wsCible.Cells.Clear

nbligne = wsSource.Range("J" & Rows.Count).End(xlUp).Row

wsSource.Range("J1:K" & nbligne).Copy Destination:=wsCible.Range("b1")

wsCible.Range("B1:c" & nbligne).RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes

wsCible.Activate

[A1].Select

Set wsSource = Nothing: Set wsCible = Nothing

[b] Range("B2:C2").Select

Range(Selection, Selection.End(xlDown)).Select

ActiveWorkbook.Worksheets("Feuil2").Sort.SortFields.Clear

ActiveWorkbook.Worksheets("Feuil2").Sort.SortFields.Add Key:=Range("B2:C384") _

, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _

xlSortTextAsNumbers

With ActiveWorkbook.Worksheets("Feuil2").Sort

.SetRange Range("B1:C384")

.Header = xlYes

.MatchCase = False

.Orientation = xlTopToBottom

.SortMethod = xlPinYin

.Apply

End With

End Sub[/b]

Bonjour

Dans ton code bleu, il y a deux lignes où tu as :

....Range("B2:C384")...

Remplace cela par :

...Range ("B2:C" & Range("B2").End(xlDown).Row)...

et tu ne sera plus limité à la ligne 384.

Bye !

Bonjour,

merci bien c'est tout bon

A+

Rechercher des sujets similaires à "vba tri plage nombre lignes indefini"