VBA Excel 2003: sélection de lignes

Nospam54 Messages postés 159 Statut Membre -  
ccm81 Messages postés 11033 Statut Membre -
Bonjour,

Je bute sur la difficulté suivante :

Dans le déroulement de mon appli je dois sélectionner 3 lignes dans ma feuille. La ligne sur laquelle je me trouve et les deux lignes au dessus.
Bien entendu je n'ai pas les numéros des lignes car ceux-ci sont variables...
J'ai essayé avec Range, Rows... rien à faire !

Quelqu'un pour m'aider ?

Un grand merci par avance

4 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    bonjour

    il doit y avoir mieux

    Dim li As Long, co As Long
    Dim lili As Range
    li = ActiveCell.Row
    co = Cells(li, Columns.Count).End(xlToRight).Column
    Set lili = Range(Cells(li, 1), Cells(li - 2, co))
    lili.Select

    bonne suite
    0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    ou plus bref

    Dim li As Long
    Dim lili As Range
    li = ActiveCell.Row
    Set lili = Union(Rows(li), Rows(li - 1), Rows(li - 2))
    lili.Select
    0
  3. Nospam54 Messages postés 159 Statut Membre 13
     
    Merci pour tes réponses, ccm81 !

    Cependant je ne suis pas parvenu à sélectionner mes lignes comme je veux.
    En fait je pensais qu'il était possible de sélectionner des lignes en adresses relative, un peu comme dans une feuille Excel en faisant "F5" puis "L(-2):L"

    Est-ce réalisable en VBA ?
    0
  4. ccm81 Messages postés 11033 Statut Membre 2 434
     
    bonjour

    je ne comprends pas bien ton problème

    1. la macro ci-dessus prend comme ligne de départ celle de la cellule active
    - li = activecell.row)
    si tu veux une autre ligne de départ (li = 123 par exemple) à toi de voir

    2. les autres lignes sont bien définies relativement à celle ligne de départ
    - rows(li-2) définit la ligne située 2 lignes plus haut

    bonne suite
    0