Bonjour à tous!
J'effectue un premier stage en entreprise et je suis bloqué depuis un certain moment sur un problème avec un code. Ce code fonctionnais très bien auparavant, mais comme tout projet qui avance j'ai dut faire des modifications et le code que j'avais ne marche plus.
Pour rentrer dans les détails, la partie qui ne fonctionne pas correspond à:
- une feuille principale que je multiplie en 16 feuilles (identiques), qui sont alors sous la même forme que dans l'exemple (avec beaucoup plus de lignes).
- à chacune d'elles j'applique une série de filtres différents. Les filtres sont tous du type 'contient' et 'contient', j'ai appliqué un exemple à la Feuil7 dans le fichier ci-joint, mais les lignes de codes correspondant dans mon fichier réel sont sous la forme:
J'applique le même filtre à chacune des 16 feuilles, seule les données du 'contient' changent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Sheets("Interventions (7)").Select ActiveSheet.Range("A1:AG" & Cells(Rows.Count, 1).End(xlUp).Row).AutoFilter Field:=31, Criteria1:= _ "=*donnée2*", Operator:=xlAnd, Criteria2:="=*donnée1*"
- puis j'essaye alors de toutes les regrouper les données filtrées sous une seule feuille unique.
Pour cela j'utilise le code suivant que l'on m'avait proposé précédemment:
Seulement voila, lorsque l'on m'a proposé ce code je ne devais regrouper que 5 feuilles et cela marchait parfaitement. Depuis que je suis passé à 16 feuilles, la feuille finale comprend un nombre de données énormes dont la plupart appartiennent aux feuilles avant qu'elles ne soient filtrées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 Sheets.Add After:=Sheets(Sheets.Count) Dim F As Worksheet For Each F In Worksheets If F.Name <> ActiveSheet.Name Then F.Cells(1, 1).Resize(F.UsedRange.Rows.Count - 1, F.UsedRange.Columns.Count).Offset(1, 0).Copy Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) End If Next F
J'ai vérifié toutes les étapes précédent celle du regroupement et tout fonctionne, je suppose donc que le problème vient de se code mais je ne sais pas du tout comment l'adapter à la situation.
Je joint un fichier illustrant la situation au moment ou les filtres ont été appliqués et ou je veux rassembler les données des feuilles.
Si quelqu’un a une idée comment modifier le code ou un autre moyen d'effectuer le rassemblent je suis preneur, cela me serais d'une grande aide! Toutes les solutions, même partielles, sont les bienvenues.
Si vous voulez des explications supplémentaire, n'hésitez pas à me demander et merci d'avance!
Partager