Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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.
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

Pour le fun et pour le plaisir de croiser Hasco (sans oublier vgendron)
VB:
Sub Macro_A_Affecter_a_un_bouton()
Selecto [E15], 1000
End Sub
Sub Selecto(r As Range, Lignes As Long)
r.Resize(Lignes).Select
End Sub
 

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…