VBA Tri de certains onglets

FAUB

XLDnaute Nouveau
Bonjour le forum,

J'ai un fichier (ci-joint) avec plusieurs onglets que je veux trier, et d'autres qui ne doivent pas être triés.

J'ai essayé cette macro, mais elle ne fonctionne pas:


Sub trier()

For Each f In ActiveWorkbook.Sheets
s = f.Name
If s <> "1" And s <> "2" And s <> "3" Then
Range("A5", Selection.End(xlDown)).Select
Selection.Sort Key1:=Range("A5"), Order1:=xlAscending, nHeader:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
End If
Next

End Sub


Pourriez-vous me dire ce que je dois modifier pour que cela fonctionne ?

Merci d'avance!

FAUB
 

Pièces jointes

  • Test Macro.xls
    35.5 KB · Affichages: 105
  • Test Macro.xls
    35.5 KB · Affichages: 110
  • Test Macro.xls
    35.5 KB · Affichages: 144

mromain

XLDnaute Barbatruc
Re : VBA Tri de certains onglets

re,

à tester:

Code:
Sub trier()

For Each f In ActiveWorkbook.Sheets
    s = f.Name
    If s <> "1" And s <> "2" And s <> "3" Then
    f.Range(f.Range("A5"), f.Range("A5").End(xlDown)).Sort Key1:=f.Range("A5"), _
            Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, _
            Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
    End If
Next
       
End Sub

a+
 

PMO2

XLDnaute Accro
Re : VBA Tri de certains onglets

Bonjour,

Essayez avec votre code modifié ci-dessous

Code:
Sub trier_pmo()
Dim f As Worksheet
Dim s As String
Dim R As Range
For Each f In ActiveWorkbook.Sheets
  s = f.Name
  If s <> "1" And s <> "2" And s <> "3" Then
    f.Activate
    Set R = f.Range("A5:A" & f.[a65536].End(xlUp).Row & "")
    R.Sort Key1:=f.[a5], Order1:=xlAscending, Header:=xlGuess, _
      OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
      DataOption1:=xlSortNormal
  End If
Next f
End Sub

Cordialement.

PMO
Patrick Morange
 

Discussions similaires

Statistiques des forums

Discussions
312 495
Messages
2 088 969
Membres
103 993
dernier inscrit
Essens