|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Ronan Étudiant Inscription : juin 2011 Messages : 13 ![]() |
Bonjour à tous,
Après des recherches infructueuses je me retourne vers vous. J'ai une feuille de calcul excel qui n'a jamais le même format et je souhaite simplement trouver une macro qui séléctionnera les 3 dernières colonnes. Comme ces colonnes ne sont pas dans les mêmes numéros de colonnes je n'arrive pas à trouver le moyen de les seléctionner. La seule chose qui permette de les réperer sont que ce sont les 3 dernières colonnes avant qu'il n'ai plus rien j'avais donc pensé à cela mais cela ne fonctionne pas : Code :
Merci de votre aide Bon après midi à vous. |
||
|
|
00
|
|
|
#2 | ||
|
Membre habitué
![]() Ludo Inscription : février 2010 Messages : 104 ![]() |
Bonjour,
Si il n'y a rien après les colonnes : Code :
__________________
Cordialement |
||
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Ronan Étudiant Inscription : juin 2011 Messages : 13 ![]() |
Bonjour Louis,
Merci pour ta réponse. Pardon pour mon ignorance mais que dois-je mettre dans le range ? En effet d'après moi le range est constitué d'un numéro de colonne. Mais dans mon cas je ne souhaite pas inscrire un numéro de colonne, je souhaite que la macro le trouve toute seul car il changera tout le temps. Le tableau ne fait jamais les même dimensions. Merci à toi. Cordialement Ron |
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() Ludo Inscription : février 2010 Messages : 104 ![]() |
Re,
En fait le but de cette ligne est de partir de la derniere colonne possible sous Excel (la colonne "IV" sous 2000, par exemple). Donc en fait, on part de cette colonne jusqu'à ce qu'on tombe (End(xltoleft)) sur la premiere cellule non vide et on lui affecte le numero de colonne. Le but est de partir d'une colonne très éloignée, qui ne contiendra jamais de données , donc de la cellule Range("IV1") par exemple. C'est la methode que j'utilise pour lire mes tableaux croisés dynamiques Je n'ai pas d'autre proposition. Desolé
__________________
Cordialement |
|
|
00
|
|
|
#5 | |
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 890 ![]() |
Bonjour,
Une solution (pas vraiment académique) Sélectionne les 3 dernières colonnes du tableau actif (Correspondant à la cellule active) Code :
Columns("" & Split(Sheets(1).Cells(1, ActiveCell.End(xlToRight).Column - 2).Address, "$")(1) & ":" & Split(Sheets(1).Cells(1, ActiveCell.End(xlToRight).Column).Address, "$")(1)).Select
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Ronan Étudiant Inscription : juin 2011 Messages : 13 ![]() |
re,
J'ai compris ta logique et je compte m'en servir aussi c'est une bonne idée, seulement je me retrouce confronté à un problème très bête. Une fois que j'ai réussi à déclarer la colonne (dans ton exemple : j) Lorsque j'écrit Il mem séléctionne la colonne J. et il ne comprend pas quand je lui écris : Comment séléctionne-t-on après ? Merci bien Ron |
|
|
00
|
|
|
#7 | |
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 890 ![]() |
Le code fournit fait cela.
Je récupère la lettre correspondant à l'index de la dernière colonne -2 Code :
Split(Sheets(1).Cells(1, ActiveCell.End(xlToRight).Column - 2).Address, "$")(1)
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|
|
|
00
|
|
|
#8 |
|
Membre habitué
![]() Ludo Inscription : février 2010 Messages : 104 ![]() |
Ron:
Il suffit de supprimer les guillemets "". Jerome: Merci pour cette idée Monsieur Jerome ^^ Je n'avais jamais pensé à coupler la fonction Split et les adresses. ++
__________________
Cordialement |
|
|
00
|
|
|
#9 | ||
|
Invité de passage
![]() Ronan Étudiant Inscription : juin 2011 Messages : 13 ![]() |
J'avance petit à petit :
J'ai réussi à définir quel est le numéro (variable) de la colonne qui m'intéresse en l'écrivant de la manière suivante : Code :
Quelqu'un connait-il la syntaxe pour séléctionner une colonne à partir d"une variable ? Merci pour votre aide. Ron Même sans les guillemets cela ne fonctionne pas ne fonctionne pas il attend un "séparateur de liste". Pour l'idée de jérome, elle semble tres efficace mais un peu compliqué pour moi, je préfère comprendre ce que j'écris (C'est vrai que ca limite mais c'est préférable je pense) Cdt Ron |
||
|
|
00
|
|
|
#10 | ||
|
Membre habitué
![]() Ludo Inscription : février 2010 Messages : 104 ![]() |
Re,
Désolé je n'avais pas tout dis ^^ Code :
__________________
Cordialement |
||
|
|
00
|
|
|
#11 | |
|
Expert Confirmé Sénior
![]() Jérôme FONTAINEContrôleur de Gestion Inscription : juin 2006 Messages : 3 890 ![]() |
Le code fournit sélectionne les 3 dernières colonnes.
Dans ton code tu cherches a sélectionner à la suite les 3 dernières colonnes, mais seul la colonne j-2 sera sélectionnée. ![]() Que veux tu faire ???
__________________
Jérôme Citation:
nous encouragera.Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.
|
|
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Ronan Étudiant Inscription : juin 2011 Messages : 13 ![]() |
Je dirai que c'est PARFAITEMENT BON !
Merci à tout les deux pour votre aide ! Bonne continuation à vous. Ron |
|
|
00
|
|
|
#13 | ||
|
Membre habitué
![]() Inscription : mai 2007 Messages : 106 ![]() |
Salut le forum
Peut-être comme ceci pour la ligne 1 Code :
|
||
|
|
20
|
Copyright © 2000-2012 - www.developpez.com