Sélection d'une plage non déterminée Macro

Bonjour le forum

je cherche via une macro la méthode pour sélectionner la plage de cellule A9 jusqu'à An , An étant la cellule juste au dessus de l'intitulé Total en colonne A. et faire de même en colonne Y.

Je vous joins un fichier exemple pour test.

Merci d'avance pour vos contributions.

17exemple.xlsx (9.45 Ko)

Bonjour

Pour la colonne A

Range("A9", Range("A9").End(xlDown).Offset(1, 0)).Select

Pour la colonne Y

Range("A9", Range("A9").End(xlDown).Offset(1, 0)).Offset(0, 24).Select

ou Col A

Range("A9:A" & [A65000].End(xlUp).Offset(-1, 0).Row).Select

Col Y

Range("A9:A" & [A65000].End(xlUp).Offset(-1, 0).Row).Offset(0, 24).Select

Cordialement

Bonjour,

voir aussi du côté de la propriété CurrentRegion !

Pour rappel, un bon code n'a pas besoin de sélectionner pour accéder à des objets comme par exemple des cellules …

Bonjour Marc L

Celui qui a un problème vient sur le Forum pour trouver une solution.

Donner un conseil, c'est bien, mais quand il s'adresse à quelqu'un qui ne maitrise pas l'outil, il offre beaucoup moins d'intérêt qu'une proposition de solution avec un exemple.

cordialement

« Mieux vaut lui apprendre à pêcher que de lui donner un poisson … »

Est-ce si difficile de consulter l'aide VBA intégrée surtout lorsque la problématique relève d'un niveau débutant ?!

C'est bien plus formateur que de Copier / Coller sans griller de neurone ! …

Bonjour

Tu as donc une autre solution pour répondre à la question "Sélection d'une plage" sans la sélectionner?

Cordialement

Amadéus a écrit :

ou Col A : Range("A9:A" & [A65000].End(xlUp).Offset(-1, 0).Row).Select

Coder en dur la cellule de référence pour la propriété End n'est pas vraiment opportun :

Excel 2003 pouvant déjà atteindre 65 536 lignes et à partir de la version 2007 c'est plus d'un million de lignes ‼

Pour fonctionner à coup sûr quelle que soit la version d'Excel, mieux vaut indiquer la dernière cellule de la colonne :

Range("A9", Cells(Rows.Count, 1).End(xlUp).End(xlUp)).Select

Et avec l'Offset c'est -2 !

Sinon en référence type Cells (ok en 2003 mais peut coincer avec des versions récentes) :

Range("A9", Cells(Rows.Count, 1).End(xlUp)(-1)).Select

Ici dans la disposition des données du fichier joint comme déjà évoqué il y a bien bien plus simple :

[A9].CurrentRegion.Select

Mais sélectionner en tant que tel ne sert à rien à part ralentir inutilement le code !

Surtout pour sélectionner une cellule la feuille de calculs doit être active.

Alors que par exemple s'il s'agit de modifier le format de la plage de cellules,

la feuille n'a même pas besoin d'être active en accédant directement aux objets (cellules ici)

en précisant dans le code devant la référence de la plage la feuille de calculs !

En attente donc d'une présentation claire et exhaustive du demandeur …

Bonjour

Bien sur, il y a plein de façons de faire, pour clore cette discussion, je me bornerai à dire que, par rapport à ta première remarque, tu es bien obligé de passer par le Select.

Cordialement

Sélectionner oui, mais pour quoi faire ?

En connaissant le but, ma première remarque reste valable à 99% !

Select donc inutile, à proscrire …

Rechercher des sujets similaires à "selection plage determinee macro"