[excel] sélection d'une plage de cellule

Résolu/Fermé
MattDF
Messages postés
76
Date d'inscription
vendredi 14 décembre 2007
Statut
Membre
Dernière intervention
5 août 2009
- 11 févr. 2008 à 15:44
MattDF
Messages postés
76
Date d'inscription
vendredi 14 décembre 2007
Statut
Membre
Dernière intervention
5 août 2009
- 19 févr. 2008 à 12:26
Bonjour à tous,

Je souhaiterai savoir quelle est la commande macro pour sélectionner toutes une plage de cellules situées au dessus de la cellule active. (la cellule active est définie par une détection macro, il s'agit de la dernière cellule vide de la colonne A)

Exemple : la cellule active se trouve en A44 , je souhaiterai avoir une formule pour sélectionner toutes les cellules de A43 à AD1.

La plage de cellule doit systématiquement s'arrêter à AD1, Quelle que soit la position de la cellule active dans la colonne A.

Je vous remercie d'avance.

Matt.

4 réponses

gbinforme
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 608
11 févr. 2008 à 17:55
bonjour

tu peux utiliser : Cells(1, 1).Resize(ActiveCell.Row - 1, 30).Select
2
MattDF
Messages postés
76
Date d'inscription
vendredi 14 décembre 2007
Statut
Membre
Dernière intervention
5 août 2009
67
18 févr. 2008 à 13:31
Ca ne marche pas comme je l'espérai (ca ne sélectionne qu'une ligne alors qu'il me faut toutes les lignes du dessus). Cependant j'ai fini par trouver la formule :


Range("A1").End(xlDown).Offset(1, 0).Select
Range("AD1:A" & ActiveCell.Offset(-1, 0)).Select


Merci quand même.
0
gbinforme
Messages postés
14934
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 608
18 févr. 2008 à 16:10
bonjour

Ca ne marche pas comme je l'espérai (ca ne sélectionne qu'une ligne alors qu'il me faut toutes les lignes du dessus).

C'est certainement que tu n'as pas utilisé la formule car en commençant à cells(1,1) pas facile de laisser des lignes au-dessus !

Range("A1").End(xlDown).Offset(1, 0).Select
Range("AD1:A" & ActiveCell.Offset(-1, 0)).Select

Ta première ligne ne sert à rien sauf à déplacer ta cellule active et donc cela ne fait absolument pas ce que tu avais demandé !
0
MattDF
Messages postés
76
Date d'inscription
vendredi 14 décembre 2007
Statut
Membre
Dernière intervention
5 août 2009
67
19 févr. 2008 à 12:26
Autant pour moi, j'avais mal recopié ta formule. Tu avais raison, désolé. (ca m'apprendra à ne pas utiliser Ctrl C et V)

Ceci dit, elle reste inadéquate par rapport à mes besoins : il me fallait sélectionner toutes une plage de cellules situées au dessus de la cellule active, cellule active définie par une détection macro. Sa place devait donc être défine par autre chose que ma sélection manuelle de cellule active.

C'est pourquoi mes 2 lignes me permettent de trouver automatiquement la cellule active adéquate, puis de sélectionner toute la plage de cellules qui m'intéressait.

Merci quand même de t'être penché sur mon problème ;)

Je garde ta formule de coté car elle pourra m'être utile dans un futur proche.
0