Bonjour,

Je reviens vers vous car je suis bloqué sur une commande qui peut paraître simple, mais pas si évident pour moi. Tout d'abord j'ai un tableau de ce type la:

Nom : Capture.PNG
Affichages : 108
Taille : 26,3 Ko

Qui à un nombre de ligne variable entre 496 lignes à 4464 lignes.

Mon but est de regrouper les _E sur une feuille et les _S sur une autre feuille; Comme ceci:

Nom : Capture1.PNG
Affichages : 100
Taille : 13,0 KoNom : Capture2.PNG
Affichages : 108
Taille : 11,9 Ko

Je suis partis sur un enregistrement de macro en utilisant un filtre sur "_E" et "_S", le problème, c'est qu'avec 4000+ lignes, ça fait une macro chargée qui ne fonctionne pas terrible ! Voici mon 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
35
36
37
    Rows("1:1").Select
   Selection.AutoFilter
    ActiveSheet.Range("$A$1:$G$4464").AutoFilter Field:=1, Criteria1:=Array( _
    "A_E1", "A_E2", "A_E3", "A_E4", "B_E1", "B_E2", "B_E3", "B_E4", "C_E1", "C_E2", "C_E3", "C_E4", "D_E1", "D_E2", "D_E3", "D_E4", "E_E1", "E_E2", "E_E3", "E_E4", "F_E1", "F_E2", "F_E3", "F_E4", _
        "H_E1", "H_E2", "H_E3", "H_E4", "I_E1", "I_E2", "I_E3", "I_E4", "J_E1", "J_E2", "J_E3", "J_E4", "K_E1", "K_E2", "K_E3", "K_E4", "L_E1", "L_E2", "L_E3", "L_E4"), Operator:=xlFilterValues 
 
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
 
'Ajout d'une nouvelle feuille
    Sheets.Add
    ActiveSheet.Name = "Feuill12"
 
'coller
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
 
'Activation de la page Feuill10
  Sheets("Feuill10").Activate
 
       Selection.AutoFilter
       ActiveSheet.Range("$A$1:$G$4464").AutoFilter Field:=1, Criteria1:=Array( _
        "A_S1", "A_S2", "A_S3", "A_S4", "B_S1", "B_S2", "B_S3", "B_S4", "C_S1", "C_S2", "C_S3", "C_S4", "D_S1", "D_S2", "D_S3", "D_S4", "E_S1", "E_S2", "E_S3", "E_S4", "F_S1", "F_S2", "F_S3", "F_S4", _
        "H_S1", "H_S2", "H_S3", "H_S4", "I_S1", "I_S2", "I_S3", "I_S4", "J_S1", "J_S2", "J_S3", "J_S4", "K_S1", "K_S2", "K_S3", "K_S4", "L_S1", "L_S2", "L_S3", "L_S4"), Operator:=xlFilterValues
 
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
 
'Ajout d'une nouvelle feuille
    Sheets.Add
    ActiveSheet.Name = "Feuill14"
 
'coller
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

(J'ai raccourci la taille du filtre mais voici ce que ca me donne. Si quelqu'un à une méthode plus "simple" et "efficace".

Cordialement,