Split d'un classeur en plusieurs fichiers (sur critères)

WaxistSelecta

XLDnaute Junior
Bonjour le fil,

je sollicite l'expertise des forumers sur un besoin excel, qui dépasse mes faibles compétences.

J'ai un fichier qui produit des volumétries (COUNTIF INDIRECT) par région et par requêtes (extraction d'un SI).

Ce fichier est organisé de la manière suivante:
- Un onglet 'Consolidation' où les calculs s'effectuent
Les calculs consistent à déterminer par requête ET par région, le nombre d'occurrence.

- X onglets qui sont en fait des extractions (requêtes) issues d'un SI.

Ce que je souhaite faire, une fois que les calculs sont effectués, ce serait de générer X fichiers indépendants (1 par région) contenant les lignes de l'onglet 'Consolidation' correspondant à la région et <> de '0' (si la région n'a occurrence dans la requête, la ligne n'apparait pas dans le fichier-région.

Ce fichier devra en outre être nommé par l'intitulé de la région...

Merci pour vos conseils / exemples de code qui pourraient m'être utiles!

Cdt
 
C

Compte Supprimé 979

Guest
Re : Split d'un classeur en plusieurs fichiers (sur critères)

Salut,

Difficile de te répondre avec le fichier exemple :confused:

Pourrais-tu être plus explicite et nous joindre, par exemple, le fichier résultat attendu par rapport à ton 1er fichier.

A+
 

WaxistSelecta

XLDnaute Junior
Re : Split d'un classeur en plusieurs fichiers (sur critères)

Bonjour Bruno et merci pour ta réponse!

Je joins un exemple de fichier régional "final", ici pour la région Rhone Alpes.
Effectivement ca permet de voir a quoi devra ressemble le fichier final.

C'est un exemple basique (j'ai enlevé la mise en forme pour ne pas mettre un fichier trop lourd).

N'hésite pas à me demander si tu as besoin de + de précision

Cordialement,
 

Pièces jointes

  • Book1.xls
    18.5 KB · Affichages: 72
  • Book1.xls
    18.5 KB · Affichages: 69
  • Book1.xls
    18.5 KB · Affichages: 67
C

Compte Supprimé 979

Guest
Re : Split d'un classeur en plusieurs fichiers (sur critères)

Salut,

Désolé, mais je n'y comprends rien du tout ... et je ne dois pas être le seul, vu le peu de réponse que tu as :rolleyes:

Comment de ton fichier Exemple_V0, tu arrives à Book1 :confused:

Sur ce forum nous ne sommes pas des magiciens ni des voyants ...

Alors si tu ne peux pas expliquer les choses mieux que ça, désolé mais nous ne pourrons rien faire pour toi :eek:
 

WaxistSelecta

XLDnaute Junior
Re : Split d'un classeur en plusieurs fichiers (sur critères)

Bonjour Bruno,

désolé si je n'ai pas été assez clair... Je vais essayer de réexpliquer cela un peu mieux!

Je veux en fait générer le fichier Book1 à partir du fichier Exemple_V0.

1/ Mon fichier Exemple est le fichier source
Il contient 2 onglets:
a) 'consolidation' qui est une sorte de base de donnée calculant des volumètries par Code Région et par Requête. Dans la réalité ce fichier comporte un onglet consolidation et X onglets de requêtes différents. Je n'en ai laissée qu'une afin de pouvoir l'ajouter en PJ au forum.

b) 'PE_EMP_LIE_601' est une Requête

Le fichier Exemple_V0 calcule donc pour chaque requête, le nombre de lignes existantes pour une région dans un onglet de requête.
Ex : dans le fichier transmis "La région 1 a 4 lignes dans la requête PE_EMP_LIE_601"

2/ Mon fichier Book1 est un exemple de fichier cible
Une fois que mon onglet 'Consolidation' (fichier Exemple_V0) est rempli, je veux générer un fichier du type de l’exemple donné par Book1. Ce fichier est une sorte de rapport régional (1 par code région). Il reprend pour un code région donné (ici 31) la volumétrie calculée dans l’onglet ‘Consolidation’ du classeur Exemple, colonne F.

Je pense qu’il faut utiliser une boucle vu le nombre relativement important de fichiers à générer (29 car 29 codes région), mais l’écrire dépasse mes faibles compétences dans le domaine…

Voila j’espère que c’est un peu plus clair…

Merci en tout cas pour ton aide 
 

WaxistSelecta

XLDnaute Junior
Re : Split d'un classeur en plusieurs fichiers (sur critères)

Bonjour, en attendant j'ai testé un code qui se rapproche de mon besoin (voir ci-dessous) il fait un tri sur un critère (la région) et copie colle dans de nouveaux onglets le résultats des tri (1 onglet par région)...

Dans le fichier où j'ai trouvé ce code, ca fonctionne mais pas dans le mien (erreur sur la ligne Set rng = [base])


Sub ExtractReps()

Dim ws1 As Worksheet
Dim wsNew As Worksheet
Dim rng As Range
Dim r As Integer
Dim c As Range


Set ws1 = Sheets("Test")
Set rng = [base]


'extract a list of Région
ws1.Columns("A:A").Copy _
Destination:=Range("Z1")
ws1.Columns("Z").AdvancedFilter Action:=xlFilterCopy,
CopyToRange:=Range("Z"), Unique:=True
r = Cells(Rows.Count, "AA").End(xlUp).Row

'set up Criteria Area
Range("Z1").Value = Range("A1").Value

For Each c In Range("AA2:A" & r)
'add the rep name to the criteria area
ws1.Range("Z2").Value = c.Value
'add new sheet (if required)
'and run advanced filter
If WksExists(c.Value) Then
Sheets(c.Value).Cells.Clear
rng.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("Test").Range("A1:AZ2"), _
CopyToRange:=Sheets(c.Value).Range("A1"), _
Unique:=False
Else
Set wsNew = Sheets.Add
wsNew.Move After:=Worksheets(Worksheets.Count)
wsNew.Name = c.Value
rng.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Sheets("Test").Range("AZ1:AZ2"), _
CopyToRange:=wsNew.Range("A1"), _
Unique:=False
End If
Next
ws1.Select
ws1.Columns("AZ:BA").Delete
End Sub

Function WksExists(wksName As String) As Boolean
On Error Resume Next
WksExists = CBool(Len(Worksheets(wksName).Name) > 0)
End Function
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 104
Messages
2 085 349
Membres
102 869
dernier inscrit
radyreth