Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1001 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  comment executer une macro sur une zone selectionnée

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

comment executer une macro sur une zone selectionnée

n°1677859
gilbs
Posté le 28-01-2008 à 14:00:24  profilanswer
 

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

mood
Publicité
Posté le 28-01-2008 à 14:00:24  profilanswer
 

n°1680373
gilbs
Posté le 01-02-2008 à 12:52:17  profilanswer
 

personne ne peut m aider ?

n°1680860
dreameddea​th
Posté le 02-02-2008 à 13:09:58  profilanswer
 

Plusieurs remarques :
1) tes select/activate au début ne servent à rien...
2) Evite la redondance. Fait un :

Code :
  1. Dim curr_worksheet as Worksheet
  2. Set curr_worksheet = Sheets("POS 14" )


et remplace tes activeWorkbook.Worksheets("POS 14" ) par curr_worksheet...
3) Pour récupérer la ligne de la cellule active, fait un

Code :
  1. Dim num_ligne as Integer
  2. num_ligne = ActiveCell.Row


et utilise cette variable dans tes Range("AA" & num_ligne & ":AA400" )
 
Voilà en espérant avoir bien compris


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  comment executer une macro sur une zone selectionnée

 

Sujets relatifs
Convertir une macro vb en .exemacro xls décaler tableau
[Script Shell] Problème pour exécuter des commandes[MACRO excel / RESOLU ] creation d hyperliens amenant a des cases
VBE definir zone avec un nomMacro excel pilotant word, Pb pour supprimer une section
macro excel pour collage spécial dans WordMacro pour hierarchiser...
macro menu déroulantComment exécuter des commandes à distant avec un code java?
Plus de sujets relatifs à : comment executer une macro sur une zone selectionnée


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR