Excel tri sur seulement 3 crit=E8res je voudrais pouvoir le faire sur 6.
(Attention je veux avoir a trier une apr=E8s l autre car je veux que mes
lignes soient compos=E9es de la m=EAme fa=E7on juste tri=E9es).
Est-ce possible ? Si oui comment ?
D'avance merci.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel
Bonjour. Sélectionne ta plage et fais un premier tri sur les 3 critères mineurs, puis un second sur les 3 critères majeurs. Cordialement. Daniel "Ceno" a écrit dans le message de news:
Excel tri sur seulement 3 critères je voudrais pouvoir le faire sur 6. (Attention je veux avoir a trier une après l autre car je veux que mes lignes soient composées de la même façon juste triées). Est-ce possible ? Si oui comment ? D'avance merci.
Bonjour.
Sélectionne ta plage et fais un premier tri sur les 3 critères mineurs, puis
un second sur les 3 critères majeurs.
Cordialement.
Daniel
"Ceno" <cedric-box@ifrance.com> a écrit dans le message de news:
1170854831.504587.62370@v33g2000cwv.googlegroups.com...
Excel tri sur seulement 3 critères je voudrais pouvoir le faire sur 6.
(Attention je veux avoir a trier une après l autre car je veux que mes
lignes soient composées de la même façon juste triées).
Est-ce possible ? Si oui comment ?
D'avance merci.
Bonjour. Sélectionne ta plage et fais un premier tri sur les 3 critères mineurs, puis un second sur les 3 critères majeurs. Cordialement. Daniel "Ceno" a écrit dans le message de news:
Excel tri sur seulement 3 critères je voudrais pouvoir le faire sur 6. (Attention je veux avoir a trier une après l autre car je veux que mes lignes soient composées de la même façon juste triées). Est-ce possible ? Si oui comment ? D'avance merci.
Christophe
Bonjour:
La macro de Leo Heuser ci-dessous que tu peux paramétrer en fonction de tes besoins fonctionne très bien.
'Cette procédure supprime les doublons ou en fait la liste. 'Elle supprime ou inclut dans la liste par lignes entières. 'Une liste des doublons peut être insérée dans une nouvelle feuille 'après la feuille active. Les numéros de lignes peuvent être ajoutés à la liste. 'Plus d'une colonne peut être utilisée pour trouver 'les doublons de la liste. Par exemple, la colonne A peut 'contenir plusieurs entrées avec le nom "Peter" 'la colonne B plusieurs entrées avec "Smith", 'la colonne F plusieurs entrées avec "Oxford St." 'Passer à l'argument ColumnsToMatch la valeur Array ("A", "B", "F") 'va inclure dans la liste ou supprimer tous les doublons où 'une correspondance existe entre "A" *et* "B" *et* "F" ' A B F '1 Name Surname Address '2 Peter Smith Oxford St. '3 Peter Smith Regent St. '4 Peter Jones Oxford St. '5 Peter Smith Oxford St. 'Avec ces contraintes, seule la 5ème ligne est considérée 'comme un doublon. (trad. fs)
Dim CheckRows As Range Dim ColumnsToMatch As Variant Dim DeleteDuplicates As Boolean Dim FormatDuplicates As Boolean Dim WriteListOfDuplicates As Boolean Dim AddRowNumberToList As Boolean Dim lLBound As Long Dim lUBound As Long Dim CheckRange As Range Dim SubArray As Variant Dim FieldsCollection As New Collection Dim RowNumberCollection As New Collection Dim Dummy As Long Dim DuplicateRange As Range Dim DuplicatesExist As Boolean Dim lRow As Long Dim CollectionKey As String Dim OffsetValue() As Long Dim StartCell As Range Dim Element As Variant Dim Counter As Long
'Edit the next 6 lines to reflect the actual setup Set CheckRows = Rows("1:1000") ColumnsToMatch = Array("A", "B", "C") DeleteDuplicates = False FormatDuplicates = False WriteListOfDuplicates = True AddRowNumberToList = True
For Counter = lLBound To lUBound OffsetValue(Counter) = Range(ColumnsToMatch (Counter) & ":" & _ ColumnsToMatch(Counter)).Column - CheckRange.Column Next Counter
On Error Resume Next SubArray = CheckRange.Value For lRow = 1 To UBound(SubArray, 1) If SubArray(lRow, 1) <> "" Then CollectionKey = "" For Counter = lLBound To lUBound CollectionKey = CollectionKey & _ CheckRange(lRow, 1).Offset(0, _ OffsetValue(Counter)).Value Next Counter FieldsCollection.Add Dummy, CStr(CollectionKey) If Err.Number = 457 Then Err.Clear DuplicatesExist = True RowNumberCollection.Add CheckRange(lRow, 1).Row If DuplicateRange Is Nothing Then Set DuplicateRange = _ CheckRange.Cells(lRow, 1) Else Set DuplicateRange = Union (DuplicateRange, _ CheckRange.Cells(lRow, 1)) End If End If End If Next lRow On Error GoTo 0
If DuplicatesExist = False Then MsgBox "No duplicates exist.", vbInformation Else With DuplicateRange.EntireRow If WriteListOfDuplicates Then Worksheets.Add After:=DuplicateRange.Parent .Copy Destination:=Range("A1") If AddRowNumberToList Then Columns("A").Insert Set StartCell = Range("A1") For Each Element In RowNumberCollection StartCell.Value = "Row " & Element Set StartCell = StartCell.Offset (1, 0) Next Element End If End If If FormatDuplicates Then .Font.ColorIndex = 3 If DeleteDuplicates Then .Delete End With End If
End Sub
Bonjour:
La macro de Leo Heuser ci-dessous que tu peux paramétrer en fonction
de tes besoins fonctionne très bien.
Sub DuplicatesInList()
'leo.heu...@get2net.dk, August 17, 2001
'Cette procédure supprime les doublons ou en fait la liste.
'Elle supprime ou inclut dans la liste par lignes entières.
'Une liste des doublons peut être insérée dans une
nouvelle feuille
'après la feuille active. Les numéros de lignes peuvent
être ajoutés à la liste.
'Plus d'une colonne peut être utilisée pour trouver
'les doublons de la liste. Par exemple, la colonne A peut
'contenir plusieurs entrées avec le nom "Peter"
'la colonne B plusieurs entrées avec "Smith",
'la colonne F plusieurs entrées avec "Oxford St."
'Passer à l'argument ColumnsToMatch la valeur Array
("A", "B", "F")
'va inclure dans la liste ou supprimer tous les doublons où
'une correspondance existe entre "A" *et* "B" *et* "F"
' A B F
'1 Name Surname Address
'2 Peter Smith Oxford St.
'3 Peter Smith Regent St.
'4 Peter Jones Oxford St.
'5 Peter Smith Oxford St.
'Avec ces contraintes, seule la 5ème ligne est considérée
'comme un doublon. (trad. fs)
Dim CheckRows As Range
Dim ColumnsToMatch As Variant
Dim DeleteDuplicates As Boolean
Dim FormatDuplicates As Boolean
Dim WriteListOfDuplicates As Boolean
Dim AddRowNumberToList As Boolean
Dim lLBound As Long
Dim lUBound As Long
Dim CheckRange As Range
Dim SubArray As Variant
Dim FieldsCollection As New Collection
Dim RowNumberCollection As New Collection
Dim Dummy As Long
Dim DuplicateRange As Range
Dim DuplicatesExist As Boolean
Dim lRow As Long
Dim CollectionKey As String
Dim OffsetValue() As Long
Dim StartCell As Range
Dim Element As Variant
Dim Counter As Long
'Edit the next 6 lines to reflect the actual setup
Set CheckRows = Rows("1:1000")
ColumnsToMatch = Array("A", "B", "C")
DeleteDuplicates = False
FormatDuplicates = False
WriteListOfDuplicates = True
AddRowNumberToList = True
For Counter = lLBound To lUBound
OffsetValue(Counter) = Range(ColumnsToMatch
(Counter) & ":" & _
ColumnsToMatch(Counter)).Column -
CheckRange.Column
Next Counter
On Error Resume Next
SubArray = CheckRange.Value
For lRow = 1 To UBound(SubArray, 1)
If SubArray(lRow, 1) <> "" Then
CollectionKey = ""
For Counter = lLBound To lUBound
CollectionKey = CollectionKey & _
CheckRange(lRow, 1).Offset(0, _
OffsetValue(Counter)).Value
Next Counter
FieldsCollection.Add Dummy, CStr(CollectionKey)
If Err.Number = 457 Then
Err.Clear
DuplicatesExist = True
RowNumberCollection.Add CheckRange(lRow,
1).Row
If DuplicateRange Is Nothing Then
Set DuplicateRange = _
CheckRange.Cells(lRow, 1)
Else
Set DuplicateRange = Union
(DuplicateRange, _
CheckRange.Cells(lRow, 1))
End If
End If
End If
Next lRow
On Error GoTo 0
If DuplicatesExist = False Then
MsgBox "No duplicates exist.", vbInformation
Else
With DuplicateRange.EntireRow
If WriteListOfDuplicates Then
Worksheets.Add After:=DuplicateRange.Parent
.Copy Destination:=Range("A1")
If AddRowNumberToList Then
Columns("A").Insert
Set StartCell = Range("A1")
For Each Element In RowNumberCollection
StartCell.Value = "Row " & Element
Set StartCell = StartCell.Offset
(1, 0)
Next Element
End If
End If
If FormatDuplicates Then .Font.ColorIndex = 3
If DeleteDuplicates Then .Delete
End With
End If
'Cette procédure supprime les doublons ou en fait la liste. 'Elle supprime ou inclut dans la liste par lignes entières. 'Une liste des doublons peut être insérée dans une nouvelle feuille 'après la feuille active. Les numéros de lignes peuvent être ajoutés à la liste. 'Plus d'une colonne peut être utilisée pour trouver 'les doublons de la liste. Par exemple, la colonne A peut 'contenir plusieurs entrées avec le nom "Peter" 'la colonne B plusieurs entrées avec "Smith", 'la colonne F plusieurs entrées avec "Oxford St." 'Passer à l'argument ColumnsToMatch la valeur Array ("A", "B", "F") 'va inclure dans la liste ou supprimer tous les doublons où 'une correspondance existe entre "A" *et* "B" *et* "F" ' A B F '1 Name Surname Address '2 Peter Smith Oxford St. '3 Peter Smith Regent St. '4 Peter Jones Oxford St. '5 Peter Smith Oxford St. 'Avec ces contraintes, seule la 5ème ligne est considérée 'comme un doublon. (trad. fs)
Dim CheckRows As Range Dim ColumnsToMatch As Variant Dim DeleteDuplicates As Boolean Dim FormatDuplicates As Boolean Dim WriteListOfDuplicates As Boolean Dim AddRowNumberToList As Boolean Dim lLBound As Long Dim lUBound As Long Dim CheckRange As Range Dim SubArray As Variant Dim FieldsCollection As New Collection Dim RowNumberCollection As New Collection Dim Dummy As Long Dim DuplicateRange As Range Dim DuplicatesExist As Boolean Dim lRow As Long Dim CollectionKey As String Dim OffsetValue() As Long Dim StartCell As Range Dim Element As Variant Dim Counter As Long
'Edit the next 6 lines to reflect the actual setup Set CheckRows = Rows("1:1000") ColumnsToMatch = Array("A", "B", "C") DeleteDuplicates = False FormatDuplicates = False WriteListOfDuplicates = True AddRowNumberToList = True
For Counter = lLBound To lUBound OffsetValue(Counter) = Range(ColumnsToMatch (Counter) & ":" & _ ColumnsToMatch(Counter)).Column - CheckRange.Column Next Counter
On Error Resume Next SubArray = CheckRange.Value For lRow = 1 To UBound(SubArray, 1) If SubArray(lRow, 1) <> "" Then CollectionKey = "" For Counter = lLBound To lUBound CollectionKey = CollectionKey & _ CheckRange(lRow, 1).Offset(0, _ OffsetValue(Counter)).Value Next Counter FieldsCollection.Add Dummy, CStr(CollectionKey) If Err.Number = 457 Then Err.Clear DuplicatesExist = True RowNumberCollection.Add CheckRange(lRow, 1).Row If DuplicateRange Is Nothing Then Set DuplicateRange = _ CheckRange.Cells(lRow, 1) Else Set DuplicateRange = Union (DuplicateRange, _ CheckRange.Cells(lRow, 1)) End If End If End If Next lRow On Error GoTo 0
If DuplicatesExist = False Then MsgBox "No duplicates exist.", vbInformation Else With DuplicateRange.EntireRow If WriteListOfDuplicates Then Worksheets.Add After:=DuplicateRange.Parent .Copy Destination:=Range("A1") If AddRowNumberToList Then Columns("A").Insert Set StartCell = Range("A1") For Each Element In RowNumberCollection StartCell.Value = "Row " & Element Set StartCell = StartCell.Offset (1, 0) Next Element End If End If If FormatDuplicates Then .Font.ColorIndex = 3 If DeleteDuplicates Then .Delete End With End If
End Sub
Roberto
Si tu dois trier tes colonnes dans l'odre A B C D E F, tu commences par la dernière pour remonter à la première.
Exemple : Tu te positionnes dans la colonne F puis tu tries avec l'outil de tri de la barre standard, puis tu te positionnes dans la colonne E et tu refais un tri, puis ainsi de suite jusqu'a la colonne A
"Ceno" a écrit dans le message de news:
Excel tri sur seulement 3 critères je voudrais pouvoir le faire sur 6. (Attention je veux avoir a trier une après l autre car je veux que mes lignes soient composées de la même façon juste triées). Est-ce possible ? Si oui comment ? D'avance merci.
Si tu dois trier tes colonnes dans l'odre A B C D E F, tu commences par la
dernière pour remonter à la première.
Exemple :
Tu te positionnes dans la colonne F puis tu tries avec l'outil de tri de la
barre standard, puis tu te positionnes dans la colonne E et tu refais un
tri, puis ainsi de suite jusqu'a la colonne A
"Ceno" <cedric-box@ifrance.com> a écrit dans le message de news:
1170854831.504587.62370@v33g2000cwv.googlegroups.com...
Excel tri sur seulement 3 critères je voudrais pouvoir le faire sur 6.
(Attention je veux avoir a trier une après l autre car je veux que mes
lignes soient composées de la même façon juste triées).
Est-ce possible ? Si oui comment ?
D'avance merci.
Si tu dois trier tes colonnes dans l'odre A B C D E F, tu commences par la dernière pour remonter à la première.
Exemple : Tu te positionnes dans la colonne F puis tu tries avec l'outil de tri de la barre standard, puis tu te positionnes dans la colonne E et tu refais un tri, puis ainsi de suite jusqu'a la colonne A
"Ceno" a écrit dans le message de news:
Excel tri sur seulement 3 critères je voudrais pouvoir le faire sur 6. (Attention je veux avoir a trier une après l autre car je veux que mes lignes soient composées de la même façon juste triées). Est-ce possible ? Si oui comment ? D'avance merci.