Accéder à une feuille variable VBA

Bonjour à tous,

J'ai, sur une feuille, une base de données concernant des personnes. Chacune de ces personnes ont une feuille qui leur est dédié à leur nom.

Je suis entrain de créer un userform pour permettre de selectionner quelles personnes choisir en fonction d'un critère bien précis.

Maintenant là où je bloque c'est que mes feuilles d'accès à la personne sont variables. Et donc je n'arrive pas à créer un sheets avec une variable à l'intérieur.

J'ai essayé ceci : Sheets("Création Aménagements").Cells(j,4) = Sheets("&Cells(i,1)&").Range("A16:C17")

Cells(i,1) est la cellule contenant le nom de la personne.

Range("A16:C17") est la cellule qui m'intéresse dans la feuille qui porte le nom de la personne.

Et je veux donc la valeur de la cellule de la feuille de la personne et quelle soit mise dans la page création aménagements à un emplacement précis (la partie de gauche ne pose pas de problème).

J'espère avoir été assez clair

Merci de

Bonjour,

Range("A16:C17") est la cellule qui m'intéresse dans la feuille qui porte le nom de la personne., ceci n'est pas une cellule mais une plage de cellule et voulez rentrer cette plage dans une seule cellule? ce serait plutôt ceci:

Sheets(Cells(i, 1).Value).Range("A16:C17").Copy Sheets("Création Aménagements").Cells(j, 4)

Merci pour votre réponse.

Effectivement, c'est une plage de cellule que je souhaite copier.

Mais même sur votre ligne, on copie dans une cellule. Donc il faudrait que je modifie et que je copie dans une plage de cellule de même taille.

C'est bon j'ai trouvé. Finalement je copie juste la première cellule de ma plage de cellule et ça fonctionne.

Sheets(Cells(i, 1).Value).Range("A16").Copy Sheets("Création Aménagements").Cells(j, 4)

Effectivement, c'est une plage de cellule que je souhaite copier. Mais même sur votre ligne, on copie dans une cellule. Donc il faudrait que je modifie et que je copie dans une plage de cellule de même taille.

Dans ma ligne de code,

Sheets(Cells(i, 1).Value).Range("A16:C17").Copy Sheets("Création Aménagements").Cells(j, 4)

cela copie toute la plage A16:C17, pas besoin de déclarer la même plage pour la destination, le fait d'indiquer la première cellule de destination suffit pour que toute la plage soit recopiée.

Cdlt

Rechercher des sujets similaires à "acceder feuille variable vba"