comment executer une macro sur une zone selectionnée - VB/VBA/VBS - Programmation
Marsh Posté le 02-02-2008 à 13:09:58
Plusieurs remarques :
1) tes select/activate au début ne servent à rien...
2) Evite la redondance. Fait un :
Code :
|
et remplace tes activeWorkbook.Worksheets("POS 14" ) par curr_worksheet...
3) Pour récupérer la ligne de la cellule active, fait un
Code :
|
et utilise cette variable dans tes Range("AA" & num_ligne & ":AA400" )
Voilà en espérant avoir bien compris
Marsh Posté le 28-01-2008 à 14:00:24
bonjour
je commence à faire quelques macro sous excell 2007. J ai fait une macro de tri avec plusieures criteres. Cette macro s'apllique à une zone définie Range("AH400" ). Pour aller plus vite, j aimerai appliquer ma macros à partir d'une cellule selectionnée:
exemple
au lieu d appliquer toujours a la zone A4:AH400 je desire sois commencer à la cellule a6 ou a8, .... suivant les cas
comment puis je modofier ma macro pour prendre en compte le debut de ma zone à selectionner pour effectuer mon tri. Voici ma macro
--------------------------------------------------------------------------------
Sub TRI_STATUT_POSITION14()
' SELECTION ZONE A TRIER
Sheets("POS 14" ).Select
Range("A4:AH400" ).Select
Range("AH400" ).Activate
' TRI_SUR_FEUILLE Macro
ActiveWorkbook.Worksheets("POS 14" ).Sort.SortFields.Clear
ActiveWorkbook.Worksheets("POS 14" ).Sort.SortFields.Add Key:=Range( _
"AA4:AA400" ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("POS 14" ).Sort.SortFields.Add Key:=Range( _
"X4:X400" ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
ActiveWorkbook.Worksheets("POS 14" ).Sort.SortFields.Add Key:=Range( _
"E4:E400" ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("POS 14" ).Sort
.SetRange Range("A4:AH400" )
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
' RETOUR CELLULE DEBUT
Range("A4" ).Select
End Sub
------------------------------------------------------------------------------
j espére avoir été assez clair et merci d'avance
a+ gilbs