Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Problème de tri et de protection

16 réponses
Avatar
Crystalle
Bonjour,

J'ai mis une protection par mot de passe sur le classeur et sur ma feuille.
Je voudrai faire un tri sur les colonnes A:G par une macro. J'ai pris soin
de déverrouiller ces colonnes auparavant.
Voilà la formule :

Columns("A:G").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
, Order2:=xlAscending, Key3:=Range("G2"), Order3:=xlAscending,
Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom

Lorsque je lance la macro, j'obtiens l'erreur d'exécution '1004' : La
méthode Sort de la classe Range a échoué.
Savez-vous quel est le problème ? Merci de votre aide.

6 réponses

1 2
Avatar
Crystalle
A quel endroit mettre ce code ? Je ne connais pas bien la programmation VBA
et l'impact selon l'endroit où se trouve le code.
Merci.


Egalement (version2000+):

Déverrouiller les colonnes:

Sub auto_open()
Sheets(1).Protect Password:="", AllowSorting:=True
End Sub

JB


On 23 fév, 09:22, Crystalle
wrote:
Bonjour,

J'ai mis une protection par mot de passe sur le classeur et sur ma feuille.
Je voudrai faire un tri sur les colonnes A:G par une macro. J'ai pris soin
de déverrouiller ces colonnes auparavant.
Voilà la formule :

Columns("A:G").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
, Order2:=xlAscending, Key3:=Range("G2"), Order3:=xlAscending,
Header:= _
xlGuess, OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom

Lorsque je lance la macro, j'obtiens l'erreur d'exécution '1004' : La
méthode Sort de la classe Range a échoué.
Savez-vous quel est le problème ? Merci de votre aide.







Avatar
Crystalle
J'ai toujours la même erreur d'exécution '1004' : Mot de passe non valide : !
Seulement, j'ai essayé même en copier-coller, c'est le même mot de passe !
Savez-vous où est le probmème ?
Merci.


Si tu prenais l'habitude de protéger ta feuille (feuilles)
dans la procédure de l'événement "Open" du ThisWorkbook
de ton classeur, tu pourrais utiliser les macros que tu désires
sans tenir compte du fait que ta feuille est protégée...

Cette macro s'exécute à chaque ouverture du classeur :
'--------------------
Private Sub Workbook_Open()

Worksheets("Feuil1").Protect "TonMotDePasse", True, True, True, True

End Sub
'--------------------



"Crystalle" a écrit dans le message de news:

Bonjour,

J'ai mis une protection par mot de passe sur le classeur et sur ma feuille.
Je voudrai faire un tri sur les colonnes A:G par une macro. J'ai pris soin
de déverrouiller ces colonnes auparavant.
Voilà la formule :

Columns("A:G").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
, Order2:=xlAscending, Key3:=Range("G2"), Order3:=xlAscending,
Header:= _
xlGuess, OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom

Lorsque je lance la macro, j'obtiens l'erreur d'exécution '1004' : La
méthode Sort de la classe Range a échoué.
Savez-vous quel est le problème ? Merci de votre aide.





Avatar
MichDenis
Dans Worksheets("Feuil1").Protect "TonMotDePasse", True, True, True, True

Tu remplaces "TonMotDePasse" par ton mot de passe que tu as donnée à la feuille

Si la feuille est protégée sans mot de passe, tu utiises ceci :
Worksheets("Feuil1").Protect True, True, True, True

P.S. Tu dois aussi adapter le nom de la feuille "Feuil1" pour
le nom de la feuille que tu veux protéger !



"Crystalle" a écrit dans le message de news:

J'ai toujours la même erreur d'exécution '1004' : Mot de passe non valide : !
Seulement, j'ai essayé même en copier-coller, c'est le même mot de passe !
Savez-vous où est le probmème ?
Merci.


Si tu prenais l'habitude de protéger ta feuille (feuilles)
dans la procédure de l'événement "Open" du ThisWorkbook
de ton classeur, tu pourrais utiliser les macros que tu désires
sans tenir compte du fait que ta feuille est protégée...

Cette macro s'exécute à chaque ouverture du classeur :
'--------------------
Private Sub Workbook_Open()

Worksheets("Feuil1").Protect "TonMotDePasse", True, True, True, True

End Sub
'--------------------



"Crystalle" a écrit dans le message de news:

Bonjour,

J'ai mis une protection par mot de passe sur le classeur et sur ma feuille.
Je voudrai faire un tri sur les colonnes A:G par une macro. J'ai pris soin
de déverrouiller ces colonnes auparavant.
Voilà la formule :

Columns("A:G").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
, Order2:=xlAscending, Key3:=Range("G2"), Order3:=xlAscending,
Header:= _
xlGuess, OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom

Lorsque je lance la macro, j'obtiens l'erreur d'exécution '1004' : La
méthode Sort de la classe Range a échoué.
Savez-vous quel est le problème ? Merci de votre aide.





Avatar
Crystalle
C'est bien ce que j'avais fait mais j'ai toujours l'erreur 1004 : Mot de
passe incorrect.
Au fait, je suis sous Excel 2000. Peut-être que cela a un impact.


Dans Worksheets("Feuil1").Protect "TonMotDePasse", True, True, True, True

Tu remplaces "TonMotDePasse" par ton mot de passe que tu as donnée à la feuille

Si la feuille est protégée sans mot de passe, tu utiises ceci :
Worksheets("Feuil1").Protect True, True, True, True

P.S. Tu dois aussi adapter le nom de la feuille "Feuil1" pour
le nom de la feuille que tu veux protéger !



"Crystalle" a écrit dans le message de news:

J'ai toujours la même erreur d'exécution '1004' : Mot de passe non valide : !
Seulement, j'ai essayé même en copier-coller, c'est le même mot de passe !
Savez-vous où est le probmème ?
Merci.


Si tu prenais l'habitude de protéger ta feuille (feuilles)
dans la procédure de l'événement "Open" du ThisWorkbook
de ton classeur, tu pourrais utiliser les macros que tu désires
sans tenir compte du fait que ta feuille est protégée...

Cette macro s'exécute à chaque ouverture du classeur :
'--------------------
Private Sub Workbook_Open()

Worksheets("Feuil1").Protect "TonMotDePasse", True, True, True, True

End Sub
'--------------------



"Crystalle" a écrit dans le message de news:

Bonjour,

J'ai mis une protection par mot de passe sur le classeur et sur ma feuille.
Je voudrai faire un tri sur les colonnes A:G par une macro. J'ai pris soin
de déverrouiller ces colonnes auparavant.
Voilà la formule :

Columns("A:G").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
, Order2:=xlAscending, Key3:=Range("G2"), Order3:=xlAscending,
Header:= _
xlGuess, OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom

Lorsque je lance la macro, j'obtiens l'erreur d'exécution '1004' : La
méthode Sort de la classe Range a échoué.
Savez-vous quel est le problème ? Merci de votre aide.










Avatar
MichDenis
En théorie, je ne vois pas pourquoi une ligne de code comme celle
mentionnée générerait une erreur sur une version Excel 2000
Worksheets("Feuil1").Protect True, True, True, True

Tu peux m'envoyer dans ma bal, une copie ton classeur avec le mot de passe que tu utilises...
faisant disparaître toutes informations confidentielles avant l'expédition...



"Crystalle" a écrit dans le message de news:

C'est bien ce que j'avais fait mais j'ai toujours l'erreur 1004 : Mot de
passe incorrect.
Au fait, je suis sous Excel 2000. Peut-être que cela a un impact.


Dans Worksheets("Feuil1").Protect "TonMotDePasse", True, True, True, True

Tu remplaces "TonMotDePasse" par ton mot de passe que tu as donnée à la feuille

Si la feuille est protégée sans mot de passe, tu utiises ceci :
Worksheets("Feuil1").Protect True, True, True, True

P.S. Tu dois aussi adapter le nom de la feuille "Feuil1" pour
le nom de la feuille que tu veux protéger !



"Crystalle" a écrit dans le message de news:

J'ai toujours la même erreur d'exécution '1004' : Mot de passe non valide : !
Seulement, j'ai essayé même en copier-coller, c'est le même mot de passe !
Savez-vous où est le probmème ?
Merci.


Si tu prenais l'habitude de protéger ta feuille (feuilles)
dans la procédure de l'événement "Open" du ThisWorkbook
de ton classeur, tu pourrais utiliser les macros que tu désires
sans tenir compte du fait que ta feuille est protégée...

Cette macro s'exécute à chaque ouverture du classeur :
'--------------------
Private Sub Workbook_Open()

Worksheets("Feuil1").Protect "TonMotDePasse", True, True, True, True

End Sub
'--------------------



"Crystalle" a écrit dans le message de news:

Bonjour,

J'ai mis une protection par mot de passe sur le classeur et sur ma feuille.
Je voudrai faire un tri sur les colonnes A:G par une macro. J'ai pris soin
de déverrouiller ces colonnes auparavant.
Voilà la formule :

Columns("A:G").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
, Order2:=xlAscending, Key3:=Range("G2"), Order3:=xlAscending,
Header:= _
xlGuess, OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom

Lorsque je lance la macro, j'obtiens l'erreur d'exécution '1004' : La
méthode Sort de la classe Range a échoué.
Savez-vous quel est le problème ? Merci de votre aide.










Avatar
Crystalle
En fait, j'ai refait le document au propre et cela fonctionne.
Merci et désolée pour cette réponse longue.


En théorie, je ne vois pas pourquoi une ligne de code comme celle
mentionnée générerait une erreur sur une version Excel 2000
Worksheets("Feuil1").Protect True, True, True, True

Tu peux m'envoyer dans ma bal, une copie ton classeur avec le mot de passe que tu utilises...
faisant disparaître toutes informations confidentielles avant l'expédition...



"Crystalle" a écrit dans le message de news:

C'est bien ce que j'avais fait mais j'ai toujours l'erreur 1004 : Mot de
passe incorrect.
Au fait, je suis sous Excel 2000. Peut-être que cela a un impact.


Dans Worksheets("Feuil1").Protect "TonMotDePasse", True, True, True, True

Tu remplaces "TonMotDePasse" par ton mot de passe que tu as donnée à la feuille

Si la feuille est protégée sans mot de passe, tu utiises ceci :
Worksheets("Feuil1").Protect True, True, True, True

P.S. Tu dois aussi adapter le nom de la feuille "Feuil1" pour
le nom de la feuille que tu veux protéger !



"Crystalle" a écrit dans le message de news:

J'ai toujours la même erreur d'exécution '1004' : Mot de passe non valide : !
Seulement, j'ai essayé même en copier-coller, c'est le même mot de passe !
Savez-vous où est le probmème ?
Merci.


Si tu prenais l'habitude de protéger ta feuille (feuilles)
dans la procédure de l'événement "Open" du ThisWorkbook
de ton classeur, tu pourrais utiliser les macros que tu désires
sans tenir compte du fait que ta feuille est protégée...

Cette macro s'exécute à chaque ouverture du classeur :
'--------------------
Private Sub Workbook_Open()

Worksheets("Feuil1").Protect "TonMotDePasse", True, True, True, True

End Sub
'--------------------



"Crystalle" a écrit dans le message de news:

Bonjour,

J'ai mis une protection par mot de passe sur le classeur et sur ma feuille.
Je voudrai faire un tri sur les colonnes A:G par une macro. J'ai pris soin
de déverrouiller ces colonnes auparavant.
Voilà la formule :

Columns("A:G").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
, Order2:=xlAscending, Key3:=Range("G2"), Order3:=xlAscending,
Header:= _
xlGuess, OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom

Lorsque je lance la macro, j'obtiens l'erreur d'exécution '1004' : La
méthode Sort de la classe Range a échoué.
Savez-vous quel est le problème ? Merci de votre aide.















1 2