VBA Excel 2003: sélection de lignes

Fermé
Nospam54 Messages postés 152 Date d'inscription jeudi 16 avril 2009 Statut Membre Dernière intervention 15 novembre 2017 - 28 mai 2012 à 16:05
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 - 31 mai 2012 à 14:49
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


A voir également:

4 réponses

ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
28 mai 2012 à 16:31
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
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
28 mai 2012 à 16:35
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
Nospam54 Messages postés 152 Date d'inscription jeudi 16 avril 2009 Statut Membre Dernière intervention 15 novembre 2017 13
31 mai 2012 à 13:26
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
ccm81 Messages postés 10853 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 avril 2024 2 404
31 mai 2012 à 14:49
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