Bonjour à tous
Déjà de retour sur le forum pour un problème .
J'utilise ces 2 codes pour un tableau :
Triage commandé par un bouton
Surlignage
Les deux fonctionnent bien mais mis ensemble , j'ai une erreur d'éxecution
1004, la méthode Sort de la classe range a échoué
Avez vous des idées pour me dépanner
Merci d'avance
'Triage
Private Sub CommandButton17_Click()
With ActiveSheet
.Unprotect Password:="toto"
Range("A16:W504").Select
ActiveWindow.SmallScroll ToRight:=-5
ActiveWindow.ScrollRow = 16
Range("A16:W504").Select
Selection.Sort Key1:=Range("A16"), Order1:=xlAscending,
Key2:=Range("B16" _
), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1,
MatchCase:= _
False, Orientation:=xlTopToBottom
Range("A15").Activate
.Protect Password:="toto"
End With
End Sub
'Surlignage
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ActiveSheet
.Unprotect Password:="toto"
If Intersect(Target, Range("A16:A504")) Is Nothing Then Exit Sub
Cells.Interior.ColorIndex = xlNone
MaPlage = "A" & ActiveCell.Row & ":W" & ActiveCell.Row
Range(MaPlage).Interior.ColorIndex = 8
.Protect Password:="toto"
End With
End Sub
Dans le worbook
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveSheet
.Unprotect Password:="toto"
Range("A16:A504").Interior.ColorIndex = xlNone
.Protect Password:="toto"
End With
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
lSteph
Bonjour,
Normal , tu fais un Select alors qu'il y a un Selection_change dans la feuille ce dernier remet la protection.Donc qd tu trie cela plante
Il faudrait soit
utiliser un Application.enableeventsúlse au début puis true à la fin pour désactiver les événements
soit utiliser plutôt une protection par macro dans le thisworkbook_open par exemple avec userinterfaceonly:=true Ex: Sheets(1).protect pasword:="toto", userinterfaceonly:= true
ce qui permettra d'agir par macro et ne plus t'embêter à déprotèger et reprotèger.
lSteph
"fredbzr" a écrit dans le message de news: 44410a80$0$19685$
Bonjour à tous Déjà de retour sur le forum pour un problème . J'utilise ces 2 codes pour un tableau : Triage commandé par un bouton Surlignage Les deux fonctionnent bien mais mis ensemble , j'ai une erreur d'éxecution 1004, la méthode Sort de la classe range a échoué Avez vous des idées pour me dépanner Merci d'avance
'Triage Private Sub CommandButton17_Click() With ActiveSheet .Unprotect Password:="toto" Range("A16:W504").Select ActiveWindow.SmallScroll ToRight:=-5 ActiveWindow.ScrollRow = 16 Range("A16:W504").Select Selection.Sort Key1:=Range("A16"), Order1:=xlAscending, Key2:=Range("B16" _ ), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _ False, Orientation:=xlTopToBottom Range("A15").Activate .Protect Password:="toto" End With End Sub
'Surlignage Private Sub Worksheet_SelectionChange(ByVal Target As Range) With ActiveSheet .Unprotect Password:="toto" If Intersect(Target, Range("A16:A504")) Is Nothing Then Exit Sub Cells.Interior.ColorIndex = xlNone MaPlage = "A" & ActiveCell.Row & ":W" & ActiveCell.Row Range(MaPlage).Interior.ColorIndex = 8 .Protect Password:="toto" End With End Sub
Dans le worbook Private Sub Workbook_BeforePrint(Cancel As Boolean) With ActiveSheet .Unprotect Password:="toto" Range("A16:A504").Interior.ColorIndex = xlNone .Protect Password:="toto" End With End Sub
Fred
Bonjour,
Normal , tu fais un Select
alors qu'il y a un Selection_change dans la feuille
ce dernier remet la protection.Donc qd tu trie cela plante
Il faudrait soit
utiliser un Application.enableeventsúlse au début puis true à la fin
pour désactiver les événements
soit utiliser plutôt une protection par macro dans le thisworkbook_open par
exemple avec userinterfaceonly:=true
Ex:
Sheets(1).protect pasword:="toto", userinterfaceonly:= true
ce qui permettra d'agir par macro et ne plus t'embêter à déprotèger et
reprotèger.
lSteph
"fredbzr" <fredbzr@wanadoo.fr> a écrit dans le message de news:
44410a80$0$19685$8fcfb975@news.wanadoo.fr...
Bonjour à tous
Déjà de retour sur le forum pour un problème .
J'utilise ces 2 codes pour un tableau :
Triage commandé par un bouton
Surlignage
Les deux fonctionnent bien mais mis ensemble , j'ai une erreur d'éxecution
1004, la méthode Sort de la classe range a échoué
Avez vous des idées pour me dépanner
Merci d'avance
'Triage
Private Sub CommandButton17_Click()
With ActiveSheet
.Unprotect Password:="toto"
Range("A16:W504").Select
ActiveWindow.SmallScroll ToRight:=-5
ActiveWindow.ScrollRow = 16
Range("A16:W504").Select
Selection.Sort Key1:=Range("A16"), Order1:=xlAscending,
Key2:=Range("B16" _
), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1,
MatchCase:= _
False, Orientation:=xlTopToBottom
Range("A15").Activate
.Protect Password:="toto"
End With
End Sub
'Surlignage
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ActiveSheet
.Unprotect Password:="toto"
If Intersect(Target, Range("A16:A504")) Is Nothing Then Exit Sub
Cells.Interior.ColorIndex = xlNone
MaPlage = "A" & ActiveCell.Row & ":W" & ActiveCell.Row
Range(MaPlage).Interior.ColorIndex = 8
.Protect Password:="toto"
End With
End Sub
Dans le worbook
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveSheet
.Unprotect Password:="toto"
Range("A16:A504").Interior.ColorIndex = xlNone
.Protect Password:="toto"
End With
End Sub
Normal , tu fais un Select alors qu'il y a un Selection_change dans la feuille ce dernier remet la protection.Donc qd tu trie cela plante
Il faudrait soit
utiliser un Application.enableeventsúlse au début puis true à la fin pour désactiver les événements
soit utiliser plutôt une protection par macro dans le thisworkbook_open par exemple avec userinterfaceonly:=true Ex: Sheets(1).protect pasword:="toto", userinterfaceonly:= true
ce qui permettra d'agir par macro et ne plus t'embêter à déprotèger et reprotèger.
lSteph
"fredbzr" a écrit dans le message de news: 44410a80$0$19685$
Bonjour à tous Déjà de retour sur le forum pour un problème . J'utilise ces 2 codes pour un tableau : Triage commandé par un bouton Surlignage Les deux fonctionnent bien mais mis ensemble , j'ai une erreur d'éxecution 1004, la méthode Sort de la classe range a échoué Avez vous des idées pour me dépanner Merci d'avance
'Triage Private Sub CommandButton17_Click() With ActiveSheet .Unprotect Password:="toto" Range("A16:W504").Select ActiveWindow.SmallScroll ToRight:=-5 ActiveWindow.ScrollRow = 16 Range("A16:W504").Select Selection.Sort Key1:=Range("A16"), Order1:=xlAscending, Key2:=Range("B16" _ ), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _ False, Orientation:=xlTopToBottom Range("A15").Activate .Protect Password:="toto" End With End Sub
'Surlignage Private Sub Worksheet_SelectionChange(ByVal Target As Range) With ActiveSheet .Unprotect Password:="toto" If Intersect(Target, Range("A16:A504")) Is Nothing Then Exit Sub Cells.Interior.ColorIndex = xlNone MaPlage = "A" & ActiveCell.Row & ":W" & ActiveCell.Row Range(MaPlage).Interior.ColorIndex = 8 .Protect Password:="toto" End With End Sub
Dans le worbook Private Sub Workbook_BeforePrint(Cancel As Boolean) With ActiveSheet .Unprotect Password:="toto" Range("A16:A504").Interior.ColorIndex = xlNone .Protect Password:="toto" End With End Sub
Fred
Thierryp
Bonjour,
Je pense à première vue que tu devrais désactiver les évènements avant de trier. Dans ta sub triage, ajoute au début Application.enableeventsúlse, et repasse le à true à la fin de ta procédure
Joyeuses Pâques :-))))
@+ thierryp
------------------------ Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet. (Courteline) ------------------------
Bonjour à tous Déjà de retour sur le forum pour un problème . J'utilise ces 2 codes pour un tableau : Triage commandé par un bouton Surlignage Les deux fonctionnent bien mais mis ensemble , j'ai une erreur d'éxecution 1004, la méthode Sort de la classe range a échoué Avez vous des idées pour me dépanner Merci d'avance
'Triage Private Sub CommandButton17_Click() With ActiveSheet .Unprotect Password:="toto" Range("A16:W504").Select ActiveWindow.SmallScroll ToRight:=-5 ActiveWindow.ScrollRow = 16 Range("A16:W504").Select Selection.Sort Key1:=Range("A16"), Order1:=xlAscending, Key2:=Range("B16" _ ), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _ False, Orientation:=xlTopToBottom Range("A15").Activate .Protect Password:="toto" End With End Sub
'Surlignage Private Sub Worksheet_SelectionChange(ByVal Target As Range) With ActiveSheet .Unprotect Password:="toto" If Intersect(Target, Range("A16:A504")) Is Nothing Then Exit Sub Cells.Interior.ColorIndex = xlNone MaPlage = "A" & ActiveCell.Row & ":W" & ActiveCell.Row Range(MaPlage).Interior.ColorIndex = 8 .Protect Password:="toto" End With End Sub
Dans le worbook Private Sub Workbook_BeforePrint(Cancel As Boolean) With ActiveSheet .Unprotect Password:="toto" Range("A16:A504").Interior.ColorIndex = xlNone .Protect Password:="toto" End With End Sub
Fred
Bonjour,
Je pense à première vue que tu devrais désactiver les évènements avant
de trier.
Dans ta sub triage, ajoute au début Application.enableeventsúlse, et
repasse le à true à la fin de ta procédure
Joyeuses Pâques :-))))
@+ thierryp
------------------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet. (Courteline)
------------------------
Bonjour à tous
Déjà de retour sur le forum pour un problème .
J'utilise ces 2 codes pour un tableau :
Triage commandé par un bouton
Surlignage
Les deux fonctionnent bien mais mis ensemble , j'ai une erreur d'éxecution
1004, la méthode Sort de la classe range a échoué
Avez vous des idées pour me dépanner
Merci d'avance
'Triage
Private Sub CommandButton17_Click()
With ActiveSheet
.Unprotect Password:="toto"
Range("A16:W504").Select
ActiveWindow.SmallScroll ToRight:=-5
ActiveWindow.ScrollRow = 16
Range("A16:W504").Select
Selection.Sort Key1:=Range("A16"), Order1:=xlAscending,
Key2:=Range("B16" _
), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1,
MatchCase:= _
False, Orientation:=xlTopToBottom
Range("A15").Activate
.Protect Password:="toto"
End With
End Sub
'Surlignage
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ActiveSheet
.Unprotect Password:="toto"
If Intersect(Target, Range("A16:A504")) Is Nothing Then Exit Sub
Cells.Interior.ColorIndex = xlNone
MaPlage = "A" & ActiveCell.Row & ":W" & ActiveCell.Row
Range(MaPlage).Interior.ColorIndex = 8
.Protect Password:="toto"
End With
End Sub
Dans le worbook
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveSheet
.Unprotect Password:="toto"
Range("A16:A504").Interior.ColorIndex = xlNone
.Protect Password:="toto"
End With
End Sub
Je pense à première vue que tu devrais désactiver les évènements avant de trier. Dans ta sub triage, ajoute au début Application.enableeventsúlse, et repasse le à true à la fin de ta procédure
Joyeuses Pâques :-))))
@+ thierryp
------------------------ Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet. (Courteline) ------------------------
Bonjour à tous Déjà de retour sur le forum pour un problème . J'utilise ces 2 codes pour un tableau : Triage commandé par un bouton Surlignage Les deux fonctionnent bien mais mis ensemble , j'ai une erreur d'éxecution 1004, la méthode Sort de la classe range a échoué Avez vous des idées pour me dépanner Merci d'avance
'Triage Private Sub CommandButton17_Click() With ActiveSheet .Unprotect Password:="toto" Range("A16:W504").Select ActiveWindow.SmallScroll ToRight:=-5 ActiveWindow.ScrollRow = 16 Range("A16:W504").Select Selection.Sort Key1:=Range("A16"), Order1:=xlAscending, Key2:=Range("B16" _ ), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _ False, Orientation:=xlTopToBottom Range("A15").Activate .Protect Password:="toto" End With End Sub
'Surlignage Private Sub Worksheet_SelectionChange(ByVal Target As Range) With ActiveSheet .Unprotect Password:="toto" If Intersect(Target, Range("A16:A504")) Is Nothing Then Exit Sub Cells.Interior.ColorIndex = xlNone MaPlage = "A" & ActiveCell.Row & ":W" & ActiveCell.Row Range(MaPlage).Interior.ColorIndex = 8 .Protect Password:="toto" End With End Sub
Dans le worbook Private Sub Workbook_BeforePrint(Cancel As Boolean) With ActiveSheet .Unprotect Password:="toto" Range("A16:A504").Interior.ColorIndex = xlNone .Protect Password:="toto" End With End Sub
Fred
fredbzr
Bonjour, J'ai effectué la manip et çà fonctionne très bien Bonne fête de pâques Merci encore "Thierryp" a écrit dans le message de news:
Bonjour,
Je pense à première vue que tu devrais désactiver les évènements avant de trier. Dans ta sub triage, ajoute au début Application.enableeventsúlse, et repasse le à true à la fin de ta procédure
Joyeuses Pâques :-))))
@+ thierryp
------------------------ Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet. (Courteline) ------------------------
Bonjour à tous Déjà de retour sur le forum pour un problème . J'utilise ces 2 codes pour un tableau : Triage commandé par un bouton Surlignage Les deux fonctionnent bien mais mis ensemble , j'ai une erreur d'éxecution 1004, la méthode Sort de la classe range a échoué Avez vous des idées pour me dépanner Merci d'avance
'Triage Private Sub CommandButton17_Click() With ActiveSheet .Unprotect Password:="toto" Range("A16:W504").Select ActiveWindow.SmallScroll ToRight:=-5 ActiveWindow.ScrollRow = 16 Range("A16:W504").Select Selection.Sort Key1:=Range("A16"), Order1:=xlAscending, Key2:=Range("B16" _ ), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _ False, Orientation:=xlTopToBottom Range("A15").Activate .Protect Password:="toto" End With End Sub
'Surlignage Private Sub Worksheet_SelectionChange(ByVal Target As Range) With ActiveSheet .Unprotect Password:="toto" If Intersect(Target, Range("A16:A504")) Is Nothing Then Exit Sub Cells.Interior.ColorIndex = xlNone MaPlage = "A" & ActiveCell.Row & ":W" & ActiveCell.Row Range(MaPlage).Interior.ColorIndex = 8 .Protect Password:="toto" End With End Sub
Dans le worbook Private Sub Workbook_BeforePrint(Cancel As Boolean) With ActiveSheet .Unprotect Password:="toto" Range("A16:A504").Interior.ColorIndex = xlNone .Protect Password:="toto" End With End Sub
Fred
Bonjour,
J'ai effectué la manip et çà fonctionne très bien
Bonne fête de pâques
Merci encore
"Thierryp" <thierryp@nospam.fr> a écrit dans le message de news:
uvqKDPKYGHA.3868@TK2MSFTNGP04.phx.gbl...
Bonjour,
Je pense à première vue que tu devrais désactiver les évènements avant de
trier.
Dans ta sub triage, ajoute au début Application.enableeventsúlse, et
repasse le à true à la fin de ta procédure
Joyeuses Pâques :-))))
@+ thierryp
------------------------
Passer pour un idiot aux yeux d'un imbécile est une volupté de fin
gourmet. (Courteline)
------------------------
Bonjour à tous
Déjà de retour sur le forum pour un problème .
J'utilise ces 2 codes pour un tableau :
Triage commandé par un bouton
Surlignage
Les deux fonctionnent bien mais mis ensemble , j'ai une erreur
d'éxecution 1004, la méthode Sort de la classe range a échoué
Avez vous des idées pour me dépanner
Merci d'avance
'Triage
Private Sub CommandButton17_Click()
With ActiveSheet
.Unprotect Password:="toto"
Range("A16:W504").Select
ActiveWindow.SmallScroll ToRight:=-5
ActiveWindow.ScrollRow = 16
Range("A16:W504").Select
Selection.Sort Key1:=Range("A16"), Order1:=xlAscending,
Key2:=Range("B16" _
), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1,
MatchCase:= _
False, Orientation:=xlTopToBottom
Range("A15").Activate
.Protect Password:="toto"
End With
End Sub
'Surlignage
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ActiveSheet
.Unprotect Password:="toto"
If Intersect(Target, Range("A16:A504")) Is Nothing Then Exit Sub
Cells.Interior.ColorIndex = xlNone
MaPlage = "A" & ActiveCell.Row & ":W" & ActiveCell.Row
Range(MaPlage).Interior.ColorIndex = 8
.Protect Password:="toto"
End With
End Sub
Dans le worbook
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveSheet
.Unprotect Password:="toto"
Range("A16:A504").Interior.ColorIndex = xlNone
.Protect Password:="toto"
End With
End Sub
Bonjour, J'ai effectué la manip et çà fonctionne très bien Bonne fête de pâques Merci encore "Thierryp" a écrit dans le message de news:
Bonjour,
Je pense à première vue que tu devrais désactiver les évènements avant de trier. Dans ta sub triage, ajoute au début Application.enableeventsúlse, et repasse le à true à la fin de ta procédure
Joyeuses Pâques :-))))
@+ thierryp
------------------------ Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet. (Courteline) ------------------------
Bonjour à tous Déjà de retour sur le forum pour un problème . J'utilise ces 2 codes pour un tableau : Triage commandé par un bouton Surlignage Les deux fonctionnent bien mais mis ensemble , j'ai une erreur d'éxecution 1004, la méthode Sort de la classe range a échoué Avez vous des idées pour me dépanner Merci d'avance
'Triage Private Sub CommandButton17_Click() With ActiveSheet .Unprotect Password:="toto" Range("A16:W504").Select ActiveWindow.SmallScroll ToRight:=-5 ActiveWindow.ScrollRow = 16 Range("A16:W504").Select Selection.Sort Key1:=Range("A16"), Order1:=xlAscending, Key2:=Range("B16" _ ), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _ False, Orientation:=xlTopToBottom Range("A15").Activate .Protect Password:="toto" End With End Sub
'Surlignage Private Sub Worksheet_SelectionChange(ByVal Target As Range) With ActiveSheet .Unprotect Password:="toto" If Intersect(Target, Range("A16:A504")) Is Nothing Then Exit Sub Cells.Interior.ColorIndex = xlNone MaPlage = "A" & ActiveCell.Row & ":W" & ActiveCell.Row Range(MaPlage).Interior.ColorIndex = 8 .Protect Password:="toto" End With End Sub
Dans le worbook Private Sub Workbook_BeforePrint(Cancel As Boolean) With ActiveSheet .Unprotect Password:="toto" Range("A16:A504").Interior.ColorIndex = xlNone .Protect Password:="toto" End With End Sub
Fred
fredbzr
Bonjour J'ai utilisé la première solution qui est la plus simple pour moi qui n'y connais pas grand chose Je garde ta 2ème solution en réserve pour plus tard Passez de bonnes fêtes de pâques Merci du coup de main "lSteph" a écrit dans le message de news:
Bonjour,
Normal , tu fais un Select alors qu'il y a un Selection_change dans la feuille ce dernier remet la protection.Donc qd tu trie cela plante
Il faudrait soit
utiliser un Application.enableeventsúlse au début puis true à la fin pour désactiver les événements
soit utiliser plutôt une protection par macro dans le thisworkbook_open par exemple avec userinterfaceonly:=true Ex: Sheets(1).protect pasword:="toto", userinterfaceonly:= true
ce qui permettra d'agir par macro et ne plus t'embêter à déprotèger et reprotèger.
lSteph
"fredbzr" a écrit dans le message de news: 44410a80$0$19685$
Bonjour à tous Déjà de retour sur le forum pour un problème . J'utilise ces 2 codes pour un tableau : Triage commandé par un bouton Surlignage Les deux fonctionnent bien mais mis ensemble , j'ai une erreur d'éxecution 1004, la méthode Sort de la classe range a échoué Avez vous des idées pour me dépanner Merci d'avance
'Triage Private Sub CommandButton17_Click() With ActiveSheet .Unprotect Password:="toto" Range("A16:W504").Select ActiveWindow.SmallScroll ToRight:=-5 ActiveWindow.ScrollRow = 16 Range("A16:W504").Select Selection.Sort Key1:=Range("A16"), Order1:=xlAscending, Key2:=Range("B16" _ ), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _ False, Orientation:=xlTopToBottom Range("A15").Activate .Protect Password:="toto" End With End Sub
'Surlignage Private Sub Worksheet_SelectionChange(ByVal Target As Range) With ActiveSheet .Unprotect Password:="toto" If Intersect(Target, Range("A16:A504")) Is Nothing Then Exit Sub Cells.Interior.ColorIndex = xlNone MaPlage = "A" & ActiveCell.Row & ":W" & ActiveCell.Row Range(MaPlage).Interior.ColorIndex = 8 .Protect Password:="toto" End With End Sub
Dans le worbook Private Sub Workbook_BeforePrint(Cancel As Boolean) With ActiveSheet .Unprotect Password:="toto" Range("A16:A504").Interior.ColorIndex = xlNone .Protect Password:="toto" End With End Sub
Fred
Bonjour
J'ai utilisé la première solution qui est la plus simple pour moi qui n'y
connais pas grand chose
Je garde ta 2ème solution en réserve pour plus tard
Passez de bonnes fêtes de pâques
Merci du coup de main
"lSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
egyXcEKYGHA.3532@TK2MSFTNGP05.phx.gbl...
Bonjour,
Normal , tu fais un Select
alors qu'il y a un Selection_change dans la feuille
ce dernier remet la protection.Donc qd tu trie cela plante
Il faudrait soit
utiliser un Application.enableeventsúlse au début puis true à la fin
pour désactiver les événements
soit utiliser plutôt une protection par macro dans le thisworkbook_open
par exemple avec userinterfaceonly:=true
Ex:
Sheets(1).protect pasword:="toto", userinterfaceonly:= true
ce qui permettra d'agir par macro et ne plus t'embêter à déprotèger et
reprotèger.
lSteph
"fredbzr" <fredbzr@wanadoo.fr> a écrit dans le message de news:
44410a80$0$19685$8fcfb975@news.wanadoo.fr...
Bonjour à tous
Déjà de retour sur le forum pour un problème .
J'utilise ces 2 codes pour un tableau :
Triage commandé par un bouton
Surlignage
Les deux fonctionnent bien mais mis ensemble , j'ai une erreur
d'éxecution 1004, la méthode Sort de la classe range a échoué
Avez vous des idées pour me dépanner
Merci d'avance
'Triage
Private Sub CommandButton17_Click()
With ActiveSheet
.Unprotect Password:="toto"
Range("A16:W504").Select
ActiveWindow.SmallScroll ToRight:=-5
ActiveWindow.ScrollRow = 16
Range("A16:W504").Select
Selection.Sort Key1:=Range("A16"), Order1:=xlAscending,
Key2:=Range("B16" _
), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1,
MatchCase:= _
False, Orientation:=xlTopToBottom
Range("A15").Activate
.Protect Password:="toto"
End With
End Sub
'Surlignage
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With ActiveSheet
.Unprotect Password:="toto"
If Intersect(Target, Range("A16:A504")) Is Nothing Then Exit Sub
Cells.Interior.ColorIndex = xlNone
MaPlage = "A" & ActiveCell.Row & ":W" & ActiveCell.Row
Range(MaPlage).Interior.ColorIndex = 8
.Protect Password:="toto"
End With
End Sub
Dans le worbook
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveSheet
.Unprotect Password:="toto"
Range("A16:A504").Interior.ColorIndex = xlNone
.Protect Password:="toto"
End With
End Sub
Bonjour J'ai utilisé la première solution qui est la plus simple pour moi qui n'y connais pas grand chose Je garde ta 2ème solution en réserve pour plus tard Passez de bonnes fêtes de pâques Merci du coup de main "lSteph" a écrit dans le message de news:
Bonjour,
Normal , tu fais un Select alors qu'il y a un Selection_change dans la feuille ce dernier remet la protection.Donc qd tu trie cela plante
Il faudrait soit
utiliser un Application.enableeventsúlse au début puis true à la fin pour désactiver les événements
soit utiliser plutôt une protection par macro dans le thisworkbook_open par exemple avec userinterfaceonly:=true Ex: Sheets(1).protect pasword:="toto", userinterfaceonly:= true
ce qui permettra d'agir par macro et ne plus t'embêter à déprotèger et reprotèger.
lSteph
"fredbzr" a écrit dans le message de news: 44410a80$0$19685$
Bonjour à tous Déjà de retour sur le forum pour un problème . J'utilise ces 2 codes pour un tableau : Triage commandé par un bouton Surlignage Les deux fonctionnent bien mais mis ensemble , j'ai une erreur d'éxecution 1004, la méthode Sort de la classe range a échoué Avez vous des idées pour me dépanner Merci d'avance
'Triage Private Sub CommandButton17_Click() With ActiveSheet .Unprotect Password:="toto" Range("A16:W504").Select ActiveWindow.SmallScroll ToRight:=-5 ActiveWindow.ScrollRow = 16 Range("A16:W504").Select Selection.Sort Key1:=Range("A16"), Order1:=xlAscending, Key2:=Range("B16" _ ), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _ False, Orientation:=xlTopToBottom Range("A15").Activate .Protect Password:="toto" End With End Sub
'Surlignage Private Sub Worksheet_SelectionChange(ByVal Target As Range) With ActiveSheet .Unprotect Password:="toto" If Intersect(Target, Range("A16:A504")) Is Nothing Then Exit Sub Cells.Interior.ColorIndex = xlNone MaPlage = "A" & ActiveCell.Row & ":W" & ActiveCell.Row Range(MaPlage).Interior.ColorIndex = 8 .Protect Password:="toto" End With End Sub
Dans le worbook Private Sub Workbook_BeforePrint(Cancel As Boolean) With ActiveSheet .Unprotect Password:="toto" Range("A16:A504").Interior.ColorIndex = xlNone .Protect Password:="toto" End With End Sub