PB avec macro "feuille active"
Le
meb2604

Bonjour,
Je ne suis pas une experte en conception de macro mais je me débrouille p=
our mes besoins. J'ai un PB avec la macro suivante :
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
ActiveWorkbook.Worksheets("BD - Hébergement").AutoFilter.Sort.SortFie=
lds._
Clear
ActiveWorkbook.Worksheets("BD - Hébergement").AutoFilter.Sort.SortFie=
lds.Add _
Key:=Range("A1"), SortOn:=xlSortOnValues, Order:=xlAscending,=
DataOption _
:=xlSortTextAsNumbers
With ActiveWorkbook.Worksheets("BD - Hébergement").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A1").Select
End Sub
En fait, j'ai une feuille dont le contenu change régulièrement mais pou=
r laquelle je veux toujours trier à partir de la colonne A. Cette macro f=
onctionne super bien mais je voudrais pouvoir l'utiliser avec d'autres feui=
lles. Le PB est que cette macro s'applique spécifiquement sur la feuille =
BD - Hébergement. Comment je peux la modifier pour qu'elle s'applique sur=
la feuille active, peu importe la feuille, tout simplement.
Merci de votre aide !!!
Je ne suis pas une experte en conception de macro mais je me débrouille p=
our mes besoins. J'ai un PB avec la macro suivante :
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
ActiveWorkbook.Worksheets("BD - Hébergement").AutoFilter.Sort.SortFie=
lds._
Clear
ActiveWorkbook.Worksheets("BD - Hébergement").AutoFilter.Sort.SortFie=
lds.Add _
Key:=Range("A1"), SortOn:=xlSortOnValues, Order:=xlAscending,=
DataOption _
:=xlSortTextAsNumbers
With ActiveWorkbook.Worksheets("BD - Hébergement").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A1").Select
End Sub
En fait, j'ai une feuille dont le contenu change régulièrement mais pou=
r laquelle je veux toujours trier à partir de la colonne A. Cette macro f=
onctionne super bien mais je voudrais pouvoir l'utiliser avec d'autres feui=
lles. Le PB est que cette macro s'applique spécifiquement sur la feuille =
BD - Hébergement. Comment je peux la modifier pour qu'elle s'applique sur=
la feuille active, peu importe la feuille, tout simplement.
Merci de votre aide !!!
Copie la procédure suivante dans le THISWORKBOOK du
projetVBA de ton classeur :
À chaque fois que tu vas modifier une cellule dans la colonne A:A
de chaque feuille de calcul du classeur, un tri sera effectué sur cette
colonne automatiquement en tenant compte de l'ensemble du
tableau des données.
'----------------------------------
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim Rg As Range
Set Rg = Intersect(Target, Range("A:A"))
If Not Rg Is Nothing Then
With Range("A1:A" & Range("A65536").End(xlUp).Row).CurrentRegion
.Range("A1").Sort Key1:=.Item(1, 1), _
order1:=xlAscending, Header:=xlYes, _
Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
End With
End If
End Sub
'----------------------------------
MichD
---------------------------------------------------------------
Merci pour la réponse mais je ne veux pas utiliser le Thisworkbook. Je ve ux pouvoir exécuter ma macro sur commande. C'est une macro qui contient u ne série d'actions dont le tri, donc le Thisworkbook n'est pas appropri é à mon besoin.
Elle fonctionne super bien mais en fait, je voudrais savoir comment écrir e cette macro en n'utilisant pas le nom de la feuille mais en indiquant d'u tiliser la feuille active. Est-ce possible ?
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
ActiveWorkbook.Worksheets("BD - Hébergement").AutoFilter.Sort.SortFie lds._
Clear
ActiveWorkbook.Worksheets("BD - Hébergement").AutoFilter.Sort.SortFie lds.Add _
Key:=Range("A1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _
:=xlSortTextAsNumbers
With ActiveWorkbook.Worksheets("BD - Hébergement").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A1").Select
End Sub
Merci beaucoup !
ActiveWorkbook.Worksheets("BD - Hébergement")
Par :
ActiveWorkbook.Worksheets.ActiveSheet
MichD
---------------------------------------------------------------