Problème pour eviter les .Select

Bonjour à tous,

Pour tenter de limiter les .Select qui ralentissent les classeurs j'ai essayer de faire autrement mais ça ne veut pas... Je précise que j'y arrive grâce à l'enregistreur de macro mais quand il s'agit de limiter les .Select inévitables avec l'enregistreur de macro je trébuche.

Mon but : Pouvoir laisser modifiable une certaine partie des cellules d'une feuille nommée "ACCES"

J'utilise donc le code suivant :

(Je déverouille la plage A7:AZ6000 et C6:AZ6 de la feuille ACCESS puis j'y met une protection.

''' --- Je viens verouiller les cellules qui m'arrangent dans la feuille ACCES --- '''

Dim PlageACCES As Worksheet
Set PlageACCES = Worksheets("ACCES")

Set PlageACCES = PlageACCES("ACCES").Range("A7:AZ6000,C6:AZ6")

With PlageACCES

    .Locked = False
    .FormulaHidden = False
    .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFormattingColumns:=True
    .EnableSelection = xlUnlockedCells

End With

End Sub

''' --- EOS --- '''

Sachant que c'est un petit code je n'ai pas rajouter le fichier, si nécessaire je vous le rajoute mais n'hésitez pas à me le dire.

Merci pour votre future aide.

Kitesurf.


Précision :

"Membre de méthode ou de données introuvables .Locked= est surligné

Bonjour,

un essai de correction de code :

    Dim PlageACCES As Range
    Set PlageACCES = Sheets("ACCES").Range("A7:AZ6000,C6:AZ6")
    With PlageACCES
        .Locked = False
        .FormulaHidden = False
        .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFormattingColumns:=True
        .EnableSelection = xlUnlockedCells
    End With

Mais si votre feuille est protégée, alors il faut la déprotéger avant de faire ces modifications, donc

    Dim PlageACCES As Range
    Set PlageACCES = Sheets("ACCES").Range("A7:AZ6000,C6:AZ6")
    Sheets("ACCES").UnProtect
    With PlageACCES
        .Locked = False
        .FormulaHidden = False
        .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFormattingColumns:=True
        .EnableSelection = xlUnlockedCells
    End With
    Sheets("ACCES").Protect

Ici c'est une dé protection et protection sans mot de passe...

@ bientôt

LouReeD

Bonjour,

petite correction (3 manières différentes de supprimer les selects et d'utiliser les références de feuille et de plage)

    With Worksheets("ACCES")
        With .Range("A7:AZ6000,C6:AZ6")
            .Locked = False
            .FormulaHidden = False
        End With
        .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFormattingColumns:=True
        .EnableSelection = xlUnlockedCells
    End With
    Worksheets("ACCES").Range("A7:AZ6000,C6:AZ6").Locked = False
    Worksheets("ACCES").Range("A7:AZ6000,C6:AZ6").FormulaHidden = False
    Worksheets("ACCES").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFormattingColumns:=True
    Worksheets("ACCES").EnableSelection = xlUnlockedCells
    Dim FeuilleACCES As Worksheet
    Dim PlageACCES As Range
    Set FeuilleACCES = Worksheets("ACCES")
    Set PlageACCES = FeuilleACCES.Range("A7:AZ6000,C6:AZ6")
    With FeuilleACCES
        With PlageACCES
            .Locked = False
            .FormulaHidden = False
        End With
        .Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFormattingColumns:=True
        .EnableSelection = xlUnlockedCells
    End With

Re,

Merci à vous deux les solutions fonctionnent

Bonne journée

Bonjour,

et merci de vos remerciements !

@ bientôt

LouReeD

Rechercher des sujets similaires à "probleme eviter select"