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 !!
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.
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