Macro et commande bouton.

G

g

Guest
Bonjour,
La macro ci-dessous fonctionne parfaitement bien par "Exécuter la macro".
Par contre si j'utilise le même code dans une commande bouton cela ne fonctionne plus.

Sub Macro1()

Range("A1").Select
Selection.AutoFilter
Selection.AutoFilter Field:=4, Criteria1:=Range("F1"), Operator:=xlAnd
Range("A2:D34").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("tri").Select
Range("A2").Select
ActiveSheet.Paste
Sheets("base").Select
Application.CutCopyMode = False
Selection.AutoFilter
Range("F1").Select
Sheets("tri").Select
Range("A2:D34").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range ("B2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom
Range("A1").Select

End Sub

Si quelqu'un peut me donner l'explication de cela, je l'en remercie par avance.
Bonne journée.
 

Pièces jointes

  • rech_tri_macro.zip
    12.8 KB · Affichages: 18
V

Valérie

Guest
Bonjour le forum,

Je profite de mon premier post de l'année pour souhaiter mes meilleurs voeux à tous et remercier une fois de plus les investigateurs de ce forum fort sympathique.

Pour en revenir au pb du bouton c tout simplement qu'il est affecté à une feuille lors de la création (alors qu'une macro non à son module) et dons il ne peut travailler sur une autre feuille sans lui préciser son nom.
Donc dès que tu parles de ta feuille Tri il faut y ajouter Sheets("Tri"). devant

Sub Macro1()

Range("A1").Select
Selection.AutoFilter
Selection.AutoFilter Field:=4, Criteria1:=Range("F1"), Operator:=xlAnd
Range("A2:D34").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("tri").Select
Sheets("tri").Range("A2").Select
ActiveSheet.Paste
Sheets("base").Select
Application.CutCopyMode = False
Selection.AutoFilter
Range("F1").Select

Sheets("tri").Range("A2:D34").Sort Key1:=Sheets("tri").Range("A2"), Order1:=xlAscending, Key2:=Sheets("tri").Range ("B2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom
Range("A1").Select

End Sub

Je pense les avoir tous fait mais c à vérifier.
Courage et à bientôt
Valérie
 

Discussions similaires

Réponses
3
Affichages
666

Statistiques des forums

Discussions
313 101
Messages
2 095 281
Membres
106 242
dernier inscrit
manuel Jarir