XL 2019 Comment étendre, en VBA, la sélection dans une colonne depuis cellule active ?

Leguyl

XLDnaute Occasionnel
Bonjour à tou(te)s,

J'aimerais étendre la sélection dans une colonne indéterminée, entre la cellule active et celle de la ligne 1000 par ex.

Bref, si la cellule active est E15, que la sélection s'étende de E15 à E1000, que les cellules contiennent une valeur ou non.

Ne trouvant pas, j'ai même tenté de sélectionner toutes les cellules d'une colonne depuis la cellule active avec

VB:
Range(Selection, Selection.End(xlDown)).Select

mais la sélection s'arrête à la première cellule non vide, bien sûr.

Si quelqu'un a une solution à me proposer, je lui en serai reconnaissant.

@+
Leguyl
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,à

Déjà vous confondez Cellule Active et Selection qui sont deux choses différentes.

Dans la macro évènementielle suivante, je n'ai pas mis de restriction sur le nombre de colonnes à sélectionner.
La sélection de cellule est contenue dans le paramètre 'Target'.

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Pour éviter les rappels en boucle à SélectionChange
    Application.EnableEvents = False
    Range(Target(1), Intersect(Target.EntireColumn, Rows(1000))).Select
    Application.EnableEvents = True
End Sub

J'ai oublié : pour n'avoir qu'une colonne :
VB:
Range(Target(1), Intersect(Columns(Target.Column), Rows(1000))).Select
Pour avoir toujours 1000 cellules verticales de la même colonne à partir du coin supérieur haut gauche de Target:
Code:
Target(1).Resize(1000).Select
 
Dernière édition:

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

Eh bien vous avez tout pour le faire. Alors faites le ! et si ça coince, revenez avec votre fichier exemple, votre bouton et son code qui ne devrait faire qu'une ligne tout au plus.
Remplacer Target par ActiveCell et c'est bon.
 

Leguyl

XLDnaute Occasionnel
Re,

Eh bien vous avez tout pour le faire. Alors faites le ! et si ça coince, revenez avec votre fichier exemple, votre bouton et son code qui ne devrait faire qu'une ligne tout au plus.
Remplacer Target par ActiveCell et c'est bon.
C'est ce que j'ai fait en partant de votre première réponse, je signalais juste que je m'étais mal exprimé dans mon premier post.

Merci à vous... et aux autres intervenants ;)
 

Discussions similaires

Statistiques des forums

Discussions
312 194
Messages
2 086 069
Membres
103 110
dernier inscrit
Privé