Bonjour à tous,
Je cherche à dispatcher une base de donnée par onglet grâce à un critère.
Dans mon cas la derniere colonne.
J'ai trouvé le moyen grâce au tableau croisé, une fois fait, avec en filtre de rapport il suffit de faire "afficher les filtres de rapport" on a autant d'onglet que ce trouve de critère. En l’occurrence, autant d'onglet que d'agence pour mon cas.
J'ai deux problème à ce principe:
* c'est qu'un TCD est lourd, j'ai prêt de 90 colonnes ce qui rend la mise en page du TCD assez complexe et peu lisible mais néanmoins possible.
*Il y a un problème de confidentialité, l'agence est sélectionnée en filtre de rapport, chaque utilisateur de son fichier pourrait sélectionner une autre agence car il garde tout en mémoire.
L'avantage :
*peut etre automatisé
*met en nom d'onglet le nom de l'agence
Je cherche donc à récupérer l'ensemble des informations liées à une agence(dernière colonne) comme si un filtre était fait.
Comme lorsqu'on fait connexion de donnée et qu'on a le choix entre récupérer le donnée en TCD ou tableau. Mon cas serait plutot en tableau.
Mon but final après est de dispatcher chaque onglet vers un dossier précis(code trouvé).
Pour ce que ça intéresse ci dessous le code.
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 Sub Macro1() ' ' Macro1 Macro ' Macro enregistrée le 16/12/2011 par fl170417 ' ' Dim vnom, vdir As String For Each Sheet In Sheets Sheet.Select vnom = ActiveSheet.Name Cells.Select Selection.Copy Workbooks.Add ActiveSheet.Paste Application.CutCopyMode = False Application.DisplayAlerts = False ChDir "N:\" 'choix du repertoire en fonction du nom agence Select Case vnom Case "Agence1": vdir = "Est\" Case "Agence2": vdir = "Nord\" Case "Agence3": vdir = "Nord\" Case "Agence4": vdir = "Est\" Case "Agence5": vdir = "Est\" End Select ActiveWorkbook.SaveAs Filename:="N:\" & vdir & vnom & " Période du " & Format(Date, "mm-yyyy") & ".xls", FileFormat:=xlNormal, _ Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _ CreateBackup:=False ActiveSheet.Name = vnom ActiveWindow.Close savechanges = True Application.DisplayAlerts = True Next End Sub
En vous remerciant pour l'aide que vous pourriez m'apporter.
Anthooooony
Partager