[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 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
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 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
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