Copier cellules en fonction liste déroulante

Résolu/Fermé
claire - 15 déc. 2010 à 09:40
 claire - 15 déc. 2010 à 16:49
Bonjour,

J'aurai besoin d'un coup de main!
Je suis en train de réaliser un fichier excel. Je voudrais créer une macro qui me permettrai de copier une plage de cellules d'une feuille de mon classeur en fonction de mon choix dans la liste déroulante.

Je m'explique :
- j'ai ma liste déroulante sur la feuille 1
- mes données à copier se trouvent dans les autres feuilles de mon classeur (16 au total)
- les noms contenu dans ma liste déroulante sont les mêmes que ceux de mes feuilles qui contiennent les cellules à coller
- les cellules copier (2 tableaux et 4 graphiques) doivent se coller en dessous de ma liste déroulante
- les cellules copier par noms selectionner se trouvent toutes dans la même feuille!

J'espère que vous arriverez à me comprendre!!!
merci pour votre aide!

A voir également:

2 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
15 déc. 2010 à 10:16
Bonjour,
Voici donc le code hyper complexe à adapter :
Sub Importer_Selon_Liste()
Sheets("Feuil1").Range("A2:E12").Value = Sheets(Sheets("Feuil1").Range("A1").Value).Range("B5:F15").Value
End Sub


pour adapter :
- Sheets("Feuil1") : "Feuil1" est le nom de la feuille ou est située votre liste déroulante
- Range("A2:E12") : représente les cellules "accueillant" les donénes copiées
- Sheets("Feuil1").Range("A1").Value : si votre liste déroulante est située Feuil1 cellule A1
- Range("B5:F15") : est la plage de cellule de chaque feuille contenant les données à copier

N'hésitez pas...
0
Merci pour ta réponse !
par contre la macro ne marche pas!!! j'ai bien adapté la macro à mon classeur pourtant!

ce que je comprends pas dans ta formule c'est comment la macro sait ou elle doit aller chercher les infos en fonction du choix dans la liste.
Par exemple si dans ma liste je choisis Paul il faut qu'elle copie les cellules de la feuille nommé Paul.

Je ne sais pas si je suis bien claire!!!
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
Modifié par pijaku le 15/12/2010 à 11:23
Oui Claire, tu es claire...
- Range("B5:F15") : est la plage de cellule de chaque feuille contenant les données à copier
- Sheets(Sheets("Feuil1").Range("A1").Value) dans ce bout de code, Sheets("Feuil1").Range("A1").Value = contenu de la cellule A1 feuil1, là ou est en fait la liste déroulante... Si Feuil1 A1 contient Paul, Sheets(Sheets("Feuil1").Range("A1").Value) équivaut à Sheets("Paul") soit la feuille nommée Paul...

En cas de difficulté, nous joindre un fichier en utilisant https://www.cjoint.com/ ou http://www.cijoint.fr/ sans données confidentielles...
0
donc je dois pour chacune de mes feuilles créer une macro en changeant le nom de la feuille?
0
je vais la refaire! je dois créer une macro pour tous les noms de ma liste en changeant le nom de la feuille à laquelle le nom choisi dans la liste correspond?
0
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 744
15 déc. 2010 à 11:34
Nooooooooon!!! NE touche à rien, je te fais un fichier exemple...
0
http://www.cijoint.fr/cjlink.php?file=cj201012/cijoIU5hJM.xls
voici le lien pour mon fichier
0