patouman
XLDnaute Occasionnel
Bonjour,
je souhaiterais que la macro ci dessous (tri et mise en forme), qui fonctionne parfaitement pour l'onglet "Secteur 0", puisse aussi fonctionner pleinement pour les autres onglets et onglets futurs. Pour l'instant celle ci ne fonctionne que sur la mise en forme, mais pas sur le tri dans les onglets "Secteur 1" et autres.
je sais qu'il y a une erreur sur l'assignation des feuilles, mais comment résoudre ce problème ?
Sub tri_noms()
'
' tri_noms Macro
'
'
Range("C11:C250").Select
ActiveWorkbook.Worksheets("Secteur 0").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Secteur 0").Sort.SortFields.Add Key:=Range("C12"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Secteur 0").Sort
.SetRange Range("A11:m250")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A5").Select
Dim i As Long
For i = 11 To 655536
If Cells(i, 3) = "" Then
Exit For
Else:
Cells(i, 3).Value = UCase(Cells(i, 3).Value): Cells(i, 4).Value = Application.Proper(Cells(i, 4).Value)
End If
Next i
End Sub
je souhaiterais que la macro ci dessous (tri et mise en forme), qui fonctionne parfaitement pour l'onglet "Secteur 0", puisse aussi fonctionner pleinement pour les autres onglets et onglets futurs. Pour l'instant celle ci ne fonctionne que sur la mise en forme, mais pas sur le tri dans les onglets "Secteur 1" et autres.
je sais qu'il y a une erreur sur l'assignation des feuilles, mais comment résoudre ce problème ?
Sub tri_noms()
'
' tri_noms Macro
'
'
Range("C11:C250").Select
ActiveWorkbook.Worksheets("Secteur 0").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Secteur 0").Sort.SortFields.Add Key:=Range("C12"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Secteur 0").Sort
.SetRange Range("A11:m250")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A5").Select
Dim i As Long
For i = 11 To 655536
If Cells(i, 3) = "" Then
Exit For
Else:
Cells(i, 3).Value = UCase(Cells(i, 3).Value): Cells(i, 4).Value = Application.Proper(Cells(i, 4).Value)
End If
Next i
End Sub