debutant : Selection colonne

  • Initiateur de la discussion Initiateur de la discussion Valverde
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

V

Valverde

Guest
Bonjour,

j'ai plusieurs colonnes de données à traiter et souhaiterais automatiser le traitement.
je pense qu'une macro VB est la meilleure solution pour mon probleme.
Or, pour chaque colonne, je souhaite sélectionner l'ensemble des données.
Le raccourci clavier pour l'operation est CTRL+SHIFT+Fleche Bas
Et bien entendu, chaque colonne comporte une longueur de donnees differentes.

La commande VB correspondante semble etre :
ActiveCell.Range("A1:A169").Select

Comment parametrer la macro pour que Range selectionne automatiquement la longueur de donnees associée? (car si j'execute la precedente macro sur une autre colonne, par défaut, elle selectionnera le meme nombre de lignes que pour la premiere colonne.
merci d'avance de votre aide
 
Salut,

tu peux aussi chercher la derniere cellule utilisee de la colonne:

Sub Selectionner_colonne()

Last_Cell=Range("A65536").End(xlUp).address 'cherche la derniere cellule non-vide de la colonne A
activesheet.Range("A1:" & Last_Cell).Select 'Selectionne le Range

End Sub

Tiens nous au courant,
A++, Sylsyl.
 
Salut !

Tu as d'autres possibilités :

ActiveCell.Select
Range(Selection, Selection.End(xlDown)).Select

Attention : il ne faut pas de ligne vide dans ta colonne entre la cellule sélectionnée et la dernière.

Car en fait le Selection.End(xlDown), s'arrête à la première cellule vide.

D'où l'interêt, comme te l'as indiqué SylSyl de commencer par la dernière ligne de ta colonne

Sinon, tu peux carrément sélectionner toute la colonne (tout dépend de ce que tu feras après), avec :

ActiveCell.EntireColumn.Select

@ +

Moa
 
>Last_Cell=Range("A65536").End(xlUp).address 'cherche la derniere >cellule non-vide de la colonne A
>activesheet.Range("A1:" & Last_Cell).Select 'Selectionne le Range


etant debutant en VB, suite a ma question de ce matin, le resultat de la variable Last_Cell est de la forme A_NumeroLigne.

Comment faire pour ne recuperer que le Numero de la derniere ligne de la colonne contenant des données?
 
Lut,

tres rapidement...
si la derniere cellule non-vide est la 23eme


>Last_Cell=Range("A65536").End(xlUp).address
te renvoie l'adresse de la derniere cellule = $A$23
et tu dois utiliser:
>activesheet.Range("A1:" & Last_Cell).Select

-----------------------------

>Last_Cell=Range("A65536").End(xlUp).Row
te renvoie le numero de la ligne = 23
et tu dois utiliser:
>activesheet.Range("A1:A" & Last_Cell).Select
ou (en plus complique): activesheet.Range("A1", Cells(Last_Cell,1)).Select

-----------------------------

voila...
A++ (surement l'annee prochaine lol), Sylsyl.
 
Re !

J'utilise une autre méthode, plus simple, pour un débutant.

Si ton tableau commence en B15 et ne dépasse jamais 100 lignes :

Dans une cellule (exemple, B2) vide tu écris : =NBVAl(B15:B100)+14

Puis tu fais référence à cette cellule (B2, dans notre cas) dans ta macro.

Si maintenant ton tableau peut aller jusqu'à 500 lignes ou plus, tu changes la fin de ton NbVal

Si maintenant ton tableau commence avant la ligne 15, tu changes le +14 en +Quelquechose.

@ +

Moa
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
12
Affichages
1 K
Réponses
3
Affichages
1 K
Retour