Bonjour le forum !
Je crois que le sujet est abondamment abordé sur le net et j'ai essayé de l'adapter à mon cas mais mes compétences étant encore assez minces en VBA, je coince.
Je cherche à réaliser un découpage en plusieurs onglets à partir de l'onglet "Onglet de W" suivant l'information "Sous-Famille" ( premier fichier: "découpage exemple.xlsx").
Après plusieurs recherches et mon humble savoir-faire, j'ai réussi à créer un code qui marche mais très basique:
Seulement voilà en réalité j'ai beaucoup plus de sous-famille et donc la macro met beaucoup de temps à s'exécuter.
De plus cette macro sous-entend de devoir préalablement créer un bloc de code pour chaque sous-famille, dont je rentre le nom à la main.
J'aimerais savoir si quelqu'un pouvait m'aider à l'optimiser ? Est-il possible que la macro créée un onglet par sous-famille en repérant elle-même chaque sous-famille ?
Pour plus de clarté je joint également un fichier avec le résultat escompté.
Merci d'avance à tout ceux qui pourront m'aider.
Bonne fête à tous !
Je crois que le sujet est abondamment abordé sur le net et j'ai essayé de l'adapter à mon cas mais mes compétences étant encore assez minces en VBA, je coince.
Je cherche à réaliser un découpage en plusieurs onglets à partir de l'onglet "Onglet de W" suivant l'information "Sous-Famille" ( premier fichier: "découpage exemple.xlsx").
Après plusieurs recherches et mon humble savoir-faire, j'ai réussi à créer un code qui marche mais très basique:
Code:
Sub Decoupage()
Sheets("Onglet de W").Select
Rows("1:1").Select
Selection.AutoFilter
Selection.AutoFilter Field:=3, Criteria1:="XXXXXX1"
Range("A:AR").Select
Selection.Copy
Sheets.Add
ActiveSheet.Name = "XXXXXX1"
Range("A1").Select
ActiveSheet.Paste
Sheets("Onglet de W").Select
Rows("1:1").Select
Selection.AutoFilter
Selection.AutoFilter Field:=3, Criteria1:="XXXXXX2"
Range("A:AR").Select
Selection.Copy
Sheets.Add
ActiveSheet.Name = "XXXXXX2"
Range("A1").Select
ActiveSheet.Paste
Sheets("Onglet de W").Select
Rows("1:1").Select
Selection.AutoFilter
Selection.AutoFilter Field:=3, Criteria1:="YYYYYY1"
Range("A:AR").Select
Selection.Copy
Sheets.Add
ActiveSheet.Name = "YYYYYY1"
Range("A1").Select
ActiveSheet.Paste
Seulement voilà en réalité j'ai beaucoup plus de sous-famille et donc la macro met beaucoup de temps à s'exécuter.
De plus cette macro sous-entend de devoir préalablement créer un bloc de code pour chaque sous-famille, dont je rentre le nom à la main.
J'aimerais savoir si quelqu'un pouvait m'aider à l'optimiser ? Est-il possible que la macro créée un onglet par sous-famille en repérant elle-même chaque sous-famille ?
Pour plus de clarté je joint également un fichier avec le résultat escompté.
Merci d'avance à tout ceux qui pourront m'aider.
Bonne fête à tous !