Bonjour à tous,
Je vais essayer de vous exposer mon problème.
J'ai dans un classeur une multitude d'onglets que je souhaite automatiquement copier dans des nouveaux classeurs (en copiant parfois plusieurs onglets dans un même classeur), et enregistrer ces classeurs avec des noms spécifiques dans des répertoires spécifiques.
Mes noms d'onglets commencent tous au minimum par deux chiffres comme ci-dessous
J'ai donc commencé ma macro en faisant un IF mais j'ai plusieurs problèmes.
Vous trouverez ci-dessous mon code :
Mes problèmes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 Sub Creation_classeur_a_communiquer() Dim Collection As Object Dim wb_source As Workbook Dim wb_cible As Workbook Dim Chemin As String, Name As String, Target As String Application.ScreenUpdating = False 'Désactive la mise à jour de l'affichage Application.DisplayAlerts = False 'Désactive les messages d'alertes/erreurs (permet notamment d'écraser des fichiers existants) Application.Calculation = xlManual 'Désactive le calcul automatique des formules Target = "07" 'Défini la condition du IF Set wb_source = ActiveWorkbook For Each Collection In wb_source.Sheets If Left(Collection.Name, 2) = Target Then Collection.Copy 'Si gauche(2) du nom des onglets = Target, alors copie l'onglet Cells.Select ' Tout sélectionner Selection.Copy 'Copier Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False 'Coller valeurs Range("A1").Select 'Chemin = "xxxx" 'Chemin sur lequel créés les classeurs 'Name = Target & "_Reporting.xlsx" 'Défini le nom des fichiers créés Next Application.DisplayAlerts = True End Sub
1 - Mon IF est automatisé avec mon paramètre "Target" (Target = 07) mais bien entendu ma cible est fixe car je ne sais pas comment faire pour tester plusieurs possibilités. J'ai besoin de tester une liste de combinaisons (01 / 02 / 03 ... / 10).
2 - Lorsque mon IF me repère ma target (07), il me crée 3 classeurs pour les trois onglets commençant par 07, or je souhaite créer un unique classeur pour ces trois onglets. Je ne sais pas non plus comment faire.
Pouvez-vous me donner des pistes ? Je vous remercie énormément par avance,
Bien cordialement
PS : Ne pas se soucier du "nommage" des classeurs générés et des répertoires dans lesquels les copier, je sais faire![]()
Partager