Caroline ;-))
XLDnaute Junior
Bonjour,
Je souhaiterai multiplier 4 onglets en autant qu’il y a de régions (ici 35 régions).
Au final, je devrais avoir 4 * 35 = 140 onglets.
Ma macro fonctionne bien sauf que des liens intra-classeur ne sont pas bien récupérés. Exemple : les totaux des onglets « Modele1 », « Modele2 », « Modele3 » sont repris dans l’onglet « Modele4 » (dans le tableau : Rappel)
Une fois que j’ai activé ma macro : Sub nSheetModeles_nClasseurs(), les 140 onglets sont bien créés (4 par région), mais les chiffres du rappel sont ceux qui étaient mentionnés dans les onglets de départ « Modele » et non désormais ceux des différentes régions.
Ma macro :
Je vous joins 2 fichiers (dans mon zip) :
- Le N°1 : fichier Excel de départ : 6 onglets
- Le N° 2 : fichier Excel d’arrivé : 6 onglets +140 onglets
Mon objectif final serait d’envoyer à chaque correspondant des régions les 4 onglets qui les concerne et que les liens entre ces 4 onglets soient conservés. Mais, ici, c'est impossible car quand ils vont modifier des chiffres sur 1 onglet, cela ne va pas se répercuter sur le 4e onglet (puisque les liens entre ces 4 onglets ne fonctionnent plus).
Pouvez-vous m’aider ? Merci beaucoup !
Je souhaiterai multiplier 4 onglets en autant qu’il y a de régions (ici 35 régions).
Au final, je devrais avoir 4 * 35 = 140 onglets.
Ma macro fonctionne bien sauf que des liens intra-classeur ne sont pas bien récupérés. Exemple : les totaux des onglets « Modele1 », « Modele2 », « Modele3 » sont repris dans l’onglet « Modele4 » (dans le tableau : Rappel)
Une fois que j’ai activé ma macro : Sub nSheetModeles_nClasseurs(), les 140 onglets sont bien créés (4 par région), mais les chiffres du rappel sont ceux qui étaient mentionnés dans les onglets de départ « Modele » et non désormais ceux des différentes régions.
Ma macro :
Code:
Sub nSheetModeles_nClasseurs()
Dim Nom1, c, Nom2, d, Nom3, e, Nom4, g
For Each c In Range("GEO_Col_AcTab1")
Nom = c.Value
Sheets("Modele1").Select
Cells.Select
Selection.Copy
Sheets.Add Count:=1, After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Nom1
Range("A1").Select
ActiveSheet.Paste
Range("C1").Value = Nom1
Next c
For Each d In Range("GEO_Col_AcTab2")
Nom2 = d.Value
Sheets("Modele2").Select
Cells.Select
Selection.Copy
Sheets.Add Count:=1, After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Nom2
Range("A1").Select
ActiveSheet.Paste
Range("C1").Value = Nom2
Next d
For Each e In Range("GEO_Col_AcTab3")
Nom3 = e.Value
Sheets("Modele3").Select
Cells.Select
Selection.Copy
Sheets.Add Count:=1, After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Nom3
Range("A1").Select
ActiveSheet.Paste
Range("C1").Value = Nom3
Next e
For Each g In Range("GEO_Col_AcTab4")
Nom4 = g.Value
Sheets("Modele4").Select
Cells.Select
Selection.Copy
Sheets.Add Count:=1, After:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Nom4
Range("A1").Select
ActiveSheet.Paste
Range("C1").Value = Nom4
Next g
End Sub
Je vous joins 2 fichiers (dans mon zip) :
- Le N°1 : fichier Excel de départ : 6 onglets
- Le N° 2 : fichier Excel d’arrivé : 6 onglets +140 onglets
Mon objectif final serait d’envoyer à chaque correspondant des régions les 4 onglets qui les concerne et que les liens entre ces 4 onglets soient conservés. Mais, ici, c'est impossible car quand ils vont modifier des chiffres sur 1 onglet, cela ne va pas se répercuter sur le 4e onglet (puisque les liens entre ces 4 onglets ne fonctionnent plus).
Pouvez-vous m’aider ? Merci beaucoup !