stewy_soak
XLDnaute Nouveau
Bonjour,
J'ai un petit soucis avec l'écriture d'une macro en VB, en particulier avec la gestion d'un Range que je souhaiterais dynamique.
En l'occurence, j'ai les colonnes A à P de ma feuille qui sont mises à jour depuis une BdD externe.
Les colonnes Q à X contiennent diverses formules se basant sur les infos des colonnes A à I.
Ce que je cherche à obtenir, est un code définissant une plage qui commencerait à la 1ère cellule vide de la colonne Q et finissant (tjs en colonne Q) à la dernière ligne utilisée (par la colonne A par exemple).
Ou plus concrètement, si la colonne A est pleine jusqu'en ligne 60 et que la colonne Q l'est jusqu'à la 40, je cherche à obtenir la plage "Q40:Q60"
Aucune idée de la manière dont je devrais procéder ?
Car j'utilise actuellement une "plage nommée" (Named Range), que je reprends dans la macro pour définir MyPlage.. (Set myplage = Range("nom")) mais du coup, mon code commence à courrir au début de la colonne plutôt que là où les infos n'ont pas encore été ajoutée, et vu qu'il y'a plusieurs milliers de lignes.....
le "Named Range" que j'utilise
D'avance merci pour votre aide,
bonne fin de journée
Steve
J'ai un petit soucis avec l'écriture d'une macro en VB, en particulier avec la gestion d'un Range que je souhaiterais dynamique.
En l'occurence, j'ai les colonnes A à P de ma feuille qui sont mises à jour depuis une BdD externe.
Les colonnes Q à X contiennent diverses formules se basant sur les infos des colonnes A à I.
Ce que je cherche à obtenir, est un code définissant une plage qui commencerait à la 1ère cellule vide de la colonne Q et finissant (tjs en colonne Q) à la dernière ligne utilisée (par la colonne A par exemple).
Ou plus concrètement, si la colonne A est pleine jusqu'en ligne 60 et que la colonne Q l'est jusqu'à la 40, je cherche à obtenir la plage "Q40:Q60"
Aucune idée de la manière dont je devrais procéder ?
Car j'utilise actuellement une "plage nommée" (Named Range), que je reprends dans la macro pour définir MyPlage.. (Set myplage = Range("nom")) mais du coup, mon code commence à courrir au début de la colonne plutôt que là où les infos n'ont pas encore été ajoutée, et vu qu'il y'a plusieurs milliers de lignes.....
le "Named Range" que j'utilise
=Sheet1!$Q$2:INDEX(Sheet1!$Q:$Q;COUNTA(Sheet1!$A:$A))
D'avance merci pour votre aide,
bonne fin de journée
Steve