esperluette
XLDnaute Nouveau
Bonjour,
Je souhaiterais créer une macro, qui à partir d’une feuille source :
- à chaque changement de valeur à la colonne 2 (par exemple), on fait un filtre sur cette valeur
- on copie les lignes associées à cette valeur
- et qu’on colle ces lignes dans un nouveau classeur dont le nom de ce nouveau classeur porte la valeur sélectionnée.
J’ai testé de faire cette macro, où le changement de valeur est « manuel ».
Dans cet exemple, la valeur est « 7402 », puis on a la suite avec « 7406 ».
Selection.AutoFilter
ActiveSheet.Range("$A$1:$z$6000").AutoFilter Field:=18
ActiveSheet.Range("$A$1:$z$6000").AutoFilter Field:=2, Criteria1:="7402"
Range("A1").Select
Selection.CurrentRegion.Select
Selection.Copy
Sheets.Add After:=Sheets(Sheets.Count)
Sheets("Feuil1").Name = "Feuil1"
Range("A1").Select
ActiveSheet.Paste
Sheets("Feuil1").Select
Sheets("Feuil1").Name = "7402"
Sheets("Classeur1").Select
ActiveSheet.Range("$A$1:$W$3029").AutoFilter Field:=2, Criteria1:="7406"
Rows("1:1").Select
Selection.CurrentRegion.Select
Application.CutCopyMode = False
Selection.Copy
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Paste
Sheets("Feuil2").Select
Sheets("Feuil2").Name = "7406"
Range("D34").Select
Application.CutCopyMode = False
ActiveWorkbook.Save
End Sub
Je ne sais pas comment mettre en VBA le changement de valeur.
Merci de votre aide
Cordialement
Je souhaiterais créer une macro, qui à partir d’une feuille source :
- à chaque changement de valeur à la colonne 2 (par exemple), on fait un filtre sur cette valeur
- on copie les lignes associées à cette valeur
- et qu’on colle ces lignes dans un nouveau classeur dont le nom de ce nouveau classeur porte la valeur sélectionnée.
J’ai testé de faire cette macro, où le changement de valeur est « manuel ».
Dans cet exemple, la valeur est « 7402 », puis on a la suite avec « 7406 ».
Selection.AutoFilter
ActiveSheet.Range("$A$1:$z$6000").AutoFilter Field:=18
ActiveSheet.Range("$A$1:$z$6000").AutoFilter Field:=2, Criteria1:="7402"
Range("A1").Select
Selection.CurrentRegion.Select
Selection.Copy
Sheets.Add After:=Sheets(Sheets.Count)
Sheets("Feuil1").Name = "Feuil1"
Range("A1").Select
ActiveSheet.Paste
Sheets("Feuil1").Select
Sheets("Feuil1").Name = "7402"
Sheets("Classeur1").Select
ActiveSheet.Range("$A$1:$W$3029").AutoFilter Field:=2, Criteria1:="7406"
Rows("1:1").Select
Selection.CurrentRegion.Select
Application.CutCopyMode = False
Selection.Copy
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Paste
Sheets("Feuil2").Select
Sheets("Feuil2").Name = "7406"
Range("D34").Select
Application.CutCopyMode = False
ActiveWorkbook.Save
End Sub
Je ne sais pas comment mettre en VBA le changement de valeur.
Merci de votre aide
Cordialement