Erreur dans la sommation de feuilles.

Franckxxx

XLDnaute Junior
Bonjour à tous!

J'effectue un premier stage en entreprise et je suis bloqué depuis un certain moment sur un problème avec un code. J'avais déjà eut recourt à ce forum pour avancer dans le développement de mon code et cela fonctionnais très bien, mais comme tout projet qui avance j'ai dut faire des modifications et le code que l'on m'avais proposé 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
- 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:

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

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.
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 prenneur, 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!
 

Pièces jointes

  • Exemple45.xlsx
    19 KB · Affichages: 30
  • Exemple45.xlsx
    19 KB · Affichages: 33
  • Exemple45.xlsx
    19 KB · Affichages: 32

pierrejean

XLDnaute Barbatruc
Re : Erreur dans la sommation de feuilles.

Bonjour Franckxxx

A tester:

Code:
 Sub regroupe()
Dim F As Worksheet
On Error Resume Next
 Set F = Sheets("Ensemble")
 If Err.Number <> 0 Then Sheets.Add.Name = "Ensemble"
On Error GoTo 0
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 Sheets("Ensemble").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
End If
Next F
End Sub
 

Franckxxx

XLDnaute Junior
Re : Erreur dans la sommation de feuilles.

Le résultat reste le même, la feuille finale comporte encore les données qui avaient été filtrées.

La majorité des données qui apparaissent dans la feuille finale ne sont plus présentes dans aucune des 16 feuilles filtrées, aucun autre tableau excel n'est pourtant ouvert. La feuille finale regroupe des données qui ont été filtrées et qui n'apparaissent plus. Je ne comprend pas du tout d’où vient le problème. :confused:
 

Franckxxx

XLDnaute Junior
Re : Erreur dans la sommation de feuilles.

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:

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*"

J'applique le même filtre à chacune des 16 feuilles, seule les données du 'contient' changent.
 

Pièces jointes

  • Exemple45.xlsx
    19.4 KB · Affichages: 20
  • Exemple45.xlsx
    19.4 KB · Affichages: 20
  • Exemple45.xlsx
    19.4 KB · Affichages: 22

Discussions similaires

Statistiques des forums

Discussions
312 305
Messages
2 087 088
Membres
103 461
dernier inscrit
dams94