Problème avec AdvancedFilter
Bonjour,
Je me permets de vous appeler à l'aide car après avoir cherché deux jours sur les forums, l'aide, etc... je dois me rendre à l'évidence : mon code a un problème (au minimum) et ce n'est visiblement pas moi qui vais le voir :(
En deux mots, j'essaye de séparer en plusieurs fichiers (un par centre) les données de centres en utilisant une macro VBA excel 2007. Le numéro de centre est indiqué dans une colonne.
Dans un premier temps je cherche la zone dans lequel sont les données, je recopie le titre "cid" et la valeur du centre que je cherche dans la colonne après la zone qui contient les données (et cela en ligne 1 et 2).
Alors vient le plus grand moment... Plantage sur "AdvancedFilter" avec un code d'erreur 1004 "nom de champ introuvable ou incorrect dans la plage d'extraction". Lorsque j'essaye avec des range de type range("A1:Z34"), je n'ai pas de problème mais ici j'essaie d'avoir un code plus générique...
Voici le code où se situe le problème
Code:
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
|
'création des ranges des données
Set range_data_global = Worksheets(feuille_data).Range(Worksheets(feuille_data).Cells(ligne_debut_comptage, colonne_debut_comptage), Worksheets(feuille_data).Cells(derniere_ligne, derniere_colonne))
Set range_selector = Worksheets(feuille_data).Range(Worksheets(feuille_data).Cells(1, derniere_colonne + 1), Worksheets(feuille_data).Cells(2, derniere_colonne + 1))
'pour chaque centre, création d'un fichier avec ses données...
For Each element In tableau_cles
'cree fiche pour resultat
Sheets.Add
ActiveSheet.Name = "tmp"
'critere de selection
Worksheets(feuille_data).Cells(2, derniere_colonne + 1).value = element
'filtre de la zone des données
range_data_global.AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=range_selector, _
CopyToRange:=Worksheets("tmp").Range("A1"), Unique:=False
ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:=element 'nom_fichier = element
ActiveWorkbook.Close
ActiveSheet.Delete
Sheets(feuille_data).Select
Next element |
Voilà, si vous avez des idées...
Un grand merci à tous ceux qui se pencheront sur le problème!
Bonne journée