Récupérer des valeurs dans des onglets créés avec une macro
Résolu
Luke94
Messages postés
61
Date d'inscription
Statut
Membre
Dernière intervention
-
Luke94 Messages postés 61 Date d'inscription Statut Membre Dernière intervention -
Luke94 Messages postés 61 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
je dispose d'une macro qui me permet de recopier à l'identique l'onglet dans lequel se situe la macro. Celle ci recopie et renomme l'onglet en incrémentant le nom de l'onglet. Le 1er se nomme ER1, la macro crée ER2, puis la macro dans ER2 crée ER3,...etc... L'utilisateur doit pouvoir créer autant d'onglet ERx que nécessaire.
Mais voilà, j'ai besoin de récupérer les valeurs de 5 cellules des onglets ER1, ER2, ....ERx dans une feuille nommée "Synthèse".
C'est pourquoi, j'ai cherché à créer une macro qui grâce à une boucle for i=1..100, les valeurs soient copiées et recopiées dans la feuille "Synthèse". Les 5 données de ER1 doivent être copiées dans la ligne 21, les données de ER2 dans la ligne 22,...etc...
Mon problème est que je n'arrive pas à créer cette boucle et je ne sais pas du tout comment programmer le fait que les données de ERx seront recopiées dans la ligne 2x de la feuille "Synthèse".
Merci d'avance pour l'aide précieuse que vous pourrez m'apporter !
En vous souhaitant de joyeuses fêtes de fin d'année !!
je dispose d'une macro qui me permet de recopier à l'identique l'onglet dans lequel se situe la macro. Celle ci recopie et renomme l'onglet en incrémentant le nom de l'onglet. Le 1er se nomme ER1, la macro crée ER2, puis la macro dans ER2 crée ER3,...etc... L'utilisateur doit pouvoir créer autant d'onglet ERx que nécessaire.
Mais voilà, j'ai besoin de récupérer les valeurs de 5 cellules des onglets ER1, ER2, ....ERx dans une feuille nommée "Synthèse".
C'est pourquoi, j'ai cherché à créer une macro qui grâce à une boucle for i=1..100, les valeurs soient copiées et recopiées dans la feuille "Synthèse". Les 5 données de ER1 doivent être copiées dans la ligne 21, les données de ER2 dans la ligne 22,...etc...
Mon problème est que je n'arrive pas à créer cette boucle et je ne sais pas du tout comment programmer le fait que les données de ERx seront recopiées dans la ligne 2x de la feuille "Synthèse".
Merci d'avance pour l'aide précieuse que vous pourrez m'apporter !
En vous souhaitant de joyeuses fêtes de fin d'année !!
A voir également:
- Récupérer des valeurs dans des onglets créés avec une macro
- Créer un lien pour partager des photos - Guide
- Comment récupérer des messages supprimés sur whatsapp - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Créer une carte avec des points - Guide
- Comment recuperer une video sur youtube - Guide
3 réponses
Bonjour,
Si tu pouvais nous mettre un exemple de structure des données, sans éléments personnels, avec la macro déjà utilisée, se serait plus facile de t'aider.
Pour communiquer ton classeur tu le télécharges sur https://www.cjoint.com/ et tu mets ici le lien obtenu.
Si tu pouvais nous mettre un exemple de structure des données, sans éléments personnels, avec la macro déjà utilisée, se serait plus facile de t'aider.
Pour communiquer ton classeur tu le télécharges sur https://www.cjoint.com/ et tu mets ici le lien obtenu.
Bonsoir Luke94
Voilà une des macros possibles, à adapter :
Cdlmnt
Voilà une des macros possibles, à adapter :
Sub report() x = 0 'compte le nombre d'onglets commençant par ER For n = 1 To Sheets.Count If Left(Sheets(n).Name, 2) = "ER" Then x = x + 1 Next n ' Boucle sur les onglets et alimente Synthese For t = 1 To x ' Modifier les references pour les adapter à ton fichier Sheets("Synthese").Range("A" & 20 + t) = Sheets("ER" & t).Range("A10") Sheets("Synthese").Range("C" & 20 + t) = Sheets("ER" & t).Range("C10") Sheets("Synthese").Range("E" & 20 + t) = Sheets("ER" & t).Range("E10") Sheets("Synthese").Range("F" & 20 + t) = Sheets("ER" & t).Range("F10") Sheets("Synthese").Range("H" & 20 + t) = Sheets("ER" & t).Range("H10") Next t End Sub
Cdlmnt