Références cellules
Résolu
debutantdumidi
Messages postés
3
Statut
Membre
-
debutantdumidi Messages postés 3 Statut Membre -
debutantdumidi Messages postés 3 Statut Membre -
Bonjour,
Je débute eb VBA et j'utilise beaucoup l'enregistreur de macro pour arriver à mes fins.
Dans un classeur Excel je récupère la dernière ligne écrite avec :
DerniereLigne = Sheets("Edition").Range("U1")
Je sélectionne la cellule A1 par :
Range("A1").Select
Maintenant je souhaiterais sélectionner la cellule A1 en remplaçant le 1 par la variable DerniereLigne mais je n'arrive pas à trouver la bonne syntaxe.
Quelqu'un peut-il m'aider ?
D'avance merci.
Je débute eb VBA et j'utilise beaucoup l'enregistreur de macro pour arriver à mes fins.
Dans un classeur Excel je récupère la dernière ligne écrite avec :
DerniereLigne = Sheets("Edition").Range("U1")
Je sélectionne la cellule A1 par :
Range("A1").Select
Maintenant je souhaiterais sélectionner la cellule A1 en remplaçant le 1 par la variable DerniereLigne mais je n'arrive pas à trouver la bonne syntaxe.
Quelqu'un peut-il m'aider ?
D'avance merci.
3 réponses
-
Salut,
En admétant que ta variable est déjà déclarée, tu peux utiliser la syntaxe suivante :
Range("A" & DerniereLigne ).Select
Voila qui devrait fonctionner. -
Bonjour,
Tu peux utiliser :Range("A" & DerniereLigne)
pas très pro...
Ou alors utiliser Cells(ligne, colonne) comme ceci :Cells(DerniereLigne, 1).Select
Rappel : les .Select sont à éviter un maximum en VBA car ils ralentissent la macro-
-
Salut Lazarey,
C'est une remarque qui m'avais été faite par un très bon programmeur VBA sur ce forum. De fait, la syntaxe Cells est très explicite. Celle Range("Col" & variable) reste néanmoins à mes yeux de bidouilleur plus accessible à un novice...
Ceci doit constituer un débat pas très utile car pour moi l'essentiel est que ... ça fonctionne non? -
-
-
Bonjour,
Tant qu'on y est vu que tu débutes autant te donner aussi comment atteindre la dernière cellule de la colonne A :[A65536].end(xlup).select
et pour le n° de ligne :derlig=[A65536].end(xlup).row
Faire +1 pour avoir la 1ère ligne libre
En cas de besoin on peut compliquer un peu pour que la formule s'adapte automatiquement à excel 2003 et 2007
Et dernière colonne utilisée de la ligne 1 :dercol=[IV1].end(xltoleft).column
eric-
Merci à vous tous pour votre aide mais il me reste encore un problème.
J'ai testé :
Range("A" & DerniereLigne ).Select
Et ça fonctionne très bien et je me positionne sur la bonne cellule.
Par contre j'ai voulu appliquer vos propositions à :
Range("A54:K54").Select
En remplaçant par
Range("A" & DerniereLigne:"K" & DerniereLigne).Select
Et là j'ai un message « erreur de compilation »
Pourquoi ? -
-
-