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 !!!
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichD
Le #25301462
Bonjour,

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
---------------------------------------------------------------
meb2604
Le #25301582
Bonjour,

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 !
MichD
Le #25301642
Tu remplaces :

ActiveWorkbook.Worksheets("BD - Hébergement")

Par :

ActiveWorkbook.Worksheets.ActiveSheet




MichD
---------------------------------------------------------------
Publicité
Poster une réponse
Anonyme