niiiiiiiiiico
XLDnaute Occasionnel
Bonjour,
J'ai créé une macro via l'enregistreur d'excel pour copier deux feuilles dans un nouveau classeur. Ces deux feuilles ont elles même des macros pour effectuer des tris.
Voici ma macro pour extraire :
Pourtant quand je veux utiliser mes macros de tri dans mon nouveau classeur, elles font références aux macros du classeur d'origine et je ne comprends pas pourquoi
Dans mes deux feuilles (39 et 40), j'ai ce code :
Avec le fichier 2, j'appuie sur extraire les données et j'obtiens le fichier 1, mais les macros du fichier 1 ne sont pas propres à ce fichier mais renvoit au 2 ! Mes 4 boutons de tri du fichier 1 sont donc inutilisables
En vous remerciant par avance !
J'ai créé une macro via l'enregistreur d'excel pour copier deux feuilles dans un nouveau classeur. Ces deux feuilles ont elles même des macros pour effectuer des tris.
Voici ma macro pour extraire :
Code:
Sub extract_actions()
'
' extract_actions Macro
' Macro enregistrée le 24/08/2009 par ncharles
'
'
Sheets(Array("Recap Actions1", "Recap Actions2")).Select
Sheets("Recap Actions2").Activate
Sheets(Array("Recap Actions1", "Recap Actions2")).Copy
ActiveSheet.Unprotect
ActiveSheet.Shapes("AutoShape 14").Select
Selection.Delete
Sheets("Recap Actions2").Select
ActiveSheet.Unprotect
ActiveSheet.Shapes("AutoShape 13").Select
Selection.Delete
ActiveSheet.Shapes("Rectangle 7").Select
Selection.OnAction = "Feuil40.tri_raz_recap_actions"
ActiveSheet.Shapes("Rectangle 8").Select
Selection.OnAction = "Feuil40.tri_EVRP_recap_actions"
ActiveSheet.Shapes("Rectangle 9").Select
Selection.OnAction = "Feuil40.tri_AT_recap_actions"
ActiveSheet.Shapes("Rectangle 10").Select
Selection.OnAction = "Feuil40.tri_tout_recap_actions"
Range("C7").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True
Sheets("Recap Actions1").Select
ActiveSheet.Shapes("Rectangle 7").Select
Selection.OnAction = "Feuil39.tri_raz_recap_actions"
Range("E4").Select
ActiveSheet.Shapes("Rectangle 8").Select
Selection.OnAction = "Feuil39.tri_EVRP_recap_actions"
ActiveSheet.Shapes("Rectangle 9").Select
Selection.OnAction = "Feuil39.tri_AT_recap_actions"
ActiveSheet.Shapes("Rectangle 10").Select
Selection.OnAction = "Feuil39.tri_tout_recap_actions"
Range("C7").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True
End Sub
Pourtant quand je veux utiliser mes macros de tri dans mon nouveau classeur, elles font références aux macros du classeur d'origine et je ne comprends pas pourquoi
Dans mes deux feuilles (39 et 40), j'ai ce code :
Code:
Sub tri_raz_recap_actions()
'
' tri_raz_recap_actions Macro
' Macro enregistrée le 21/07/2009 par ncharles
'
'
ActiveSheet.Unprotect
Selection.AutoFilter Field:=1
Range("B7:H1856").Select
Range("H1856").Activate
Selection.Sort Key1:=Range("B7"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("C7").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFiltering:=True
End Sub
Sub tri_EVRP_recap_actions()
'
' tri_raz_recap_actions Macro
' Macro enregistrée le 21/07/2009 par ncharles
'
'
ActiveSheet.Unprotect
Selection.AutoFilter Field:=1
Range("B6:H1856").Select
Range("H1856").Activate
Selection.Sort Key1:=Range("c6"), Order1:=xlDescending, Key2:=Range("f6"), _
Order2:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Selection.AutoFilter Field:=1, Criteria1:="EVRP"
Range("C7").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFiltering:=True
End Sub
Sub tri_AT_recap_actions()
'
' tri_raz_recap_actions Macro
' Macro enregistrée le 21/07/2009 par ncharles
'
'
ActiveSheet.Unprotect
Selection.AutoFilter Field:=1
Range("B6:H1856").Select
Range("H1856").Activate
Selection.Sort Key1:=Range("c6"), Order1:=xlDescending, Key2:=Range("f6"), _
Order2:=xlDescending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Selection.AutoFilter Field:=1, Criteria1:="AT"
ActiveWindow.SmallScroll Down:=-1
Range("C7").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFiltering:=True
End Sub
Sub tri_tout_recap_actions()
'
' tri_raz_recap_actions Macro
' Macro enregistrée le 21/07/2009 par ncharles
'
'
ActiveSheet.Unprotect
Selection.AutoFilter Field:=1
Range("B6:H1856").Select
Range("H1856").Activate
Selection.Sort Key1:=Range("c6"), Order1:=xlDescending, Key2:=Range("f6"), _
Order2:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("C7").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFiltering:=True
End Sub
Avec le fichier 2, j'appuie sur extraire les données et j'obtiens le fichier 1, mais les macros du fichier 1 ne sont pas propres à ce fichier mais renvoit au 2 ! Mes 4 boutons de tri du fichier 1 sont donc inutilisables
En vous remerciant par avance !
Pièces jointes
Dernière édition: