Références cellules
Résolu
debutantdumidi
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
debutantdumidi Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
debutantdumidi Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
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 :
Voila qui devrait fonctionner.
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 :
pas très pro...
Ou alors utiliser Cells(ligne, colonne) comme ceci :
Rappel : les .Select sont à éviter un maximum en VBA car ils ralentissent la macro
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?
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 :
et pour le n° de ligne :
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 :
eric
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 ?
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 ?