IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Protection feuilles multiples par VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations forums :
    Inscription : Octobre 2010
    Messages : 4
    Par défaut Protection feuilles multiples par VBA
    Bonjour,

    Je souhaite, via une macro VBA, protéger toutes les feuilles sélectionnées d'un classeur Excel (et seulement les feuilles sélectionnées).

    Merci d'avance pour votre aide.


  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Bonjour.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Demo()
        For Each Ws In ActiveWindow.SelectedSheets
            Ws.Protect
        Next
    End Sub


  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations forums :
    Inscription : Octobre 2010
    Messages : 4
    Par défaut
    Bonjour Marc L.

    J'ai utilisé ton code, mais j'obtiens une erreur d'exécution 1004 sur la ligne "ws.protect".

    Qu'en penses tu ?

    Cordialement.



    En fait, j'ai sélectionné préalablement plusieurs feuilles (Groupe de travail), celles que je souhaite protéger. C'est cela qui occasionne le message d'erreur.

    Comment faire pour protéger plusieurs feuilles d'un seul coup ?


  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    De mon côté sur une des versions à ma disposition, cela fonctionne …

    Evidemment, il ne faut pas qu'une feuille soit déjà protégée …
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Demo()
        For Each Ws In ActiveWindow.SelectedSheets
            If Not Ws.ProtectContents Then Ws.Protect
        Next
    End Sub

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations forums :
    Inscription : Octobre 2010
    Messages : 4
    Par défaut
    Est ce que ca marche si tu as sélectionné plusieurs feuilles dans ton classeur ?

    Je suis en Excel 2010.

  6. #6
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Désolé, effectivement il y a un souci ... J'avais une gestion d'erreur qui trainait dans le code.

    C'est en fait plus vicieux car parfois cela se passe bien.

    Bref, je suis amené à dé-sélectionner la liste pour pouvoir protéger les feuilles puis s'il y a besoin la sélectionne de nouveau …
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Sub Demo()
        Set Liste = ActiveWindow.SelectedSheets
        ActiveSheet.Select
     
        For Each Ws In Liste
            If Not Ws.ProtectContents Then Ws.Protect
        Next
     
        Liste.Select
    End Sub

    C'est la bonne pour vous j'espère !

Discussions similaires

  1. comment controler zone de liste sur feuille excel par vba
    Par skulker dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/07/2012, 22h36
  2. Intégrer des macros sur des nouvelles feuilles crées par VBA
    Par arkorrigan dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/05/2008, 15h11
  3. [VBA-E] formule sur feuille ou par macro
    Par lio62 dans le forum Macros et VBA Excel
    Réponses: 22
    Dernier message: 14/02/2007, 17h13
  4. [VBA-E] protection feuille excel
    Par MAGUIN dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 08/01/2007, 02h18
  5. [VBA EXCEL] Protection feuille avec filtre auto
    Par mirumoto dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/01/2006, 10h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo