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 :

Accéder à une feuille protégée, d'un autre classeur par son Codename


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2010
    Messages : 129
    Points : 78
    Points
    78
    Par défaut Accéder à une feuille protégée, d'un autre classeur par son Codename
    Bonjour à tous.
    La façon la plus simple sûr d'accéder à des feuilles est, d’après ce que j'ai pu lire, d'utiliser leur "Codename", mais ce n'est pas forcement la plus simple...

    Par VBA dans mon classeur1.xls, je souhaite venir écrire dans une feuille protégée d'un autre classeur2.xls. Cette feuille porte le codename"FL1"

    dans le classeur2 j'ai mis cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Workbook_Open()
    'afin de pemettre au macros qui viennent "gratter" dans se fichier de se passer du mot de passe qui protège les feuilles
        FL1.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFormattingColumns:=True, AllowFormattingRows:=True, _
            AllowSorting:=True, AllowFiltering:=True, Password:="toto", UserInterfaceOnly:=True
    End Sub
    dans mon classeur1.xls, j'ouvre le classeur2.xls à l'aide:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks.Open(chem & "\" & fich)
    et pour accéder à ma feuille "FL1" j'utilise cette fonction:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            strCodeName = "FL1"
            Set wsF1For = SheetByCodeName(ActiveWorkbook, strCodeName)
     
    Public Function SheetByCodeName(aWorkbook As Workbook, aCodeName As String) As Worksheet
    'on "transforme" le codeName(qui est modifiable seulement via VBA) afin de pouvoir l'utiliser a la place du name
    Dim StrNomOnglet As String
        'On cherche le nom correspondant
        StrNomOnglet = aWorkbook.VBProject.VBComponents(aCodeName).Properties("Name")
        'On retourne la worksheet correspondant
        Set SheetByCodeName = aWorkbook.Sheets(StrNomOnglet)
    End Function
    mais je me retrouve avec un message d'erreur.
    "Erreur d'exécution '50289':
    Impossible d'effectuer cette opération tant que le projet est protégé"...

    Avez vous une solution ?

    merci

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Citation Envoyé par stdonat Voir le message
    Bonjour à tous.

    mais je me retrouve avec un message d'erreur.
    "Erreur d'exécution '50289':
    Impossible d'effectuer cette opération tant que le projet est protégé"...

    Avez vous une solution ?

    merci
    Ben quoi ? Enlève la protection où il y a de la protection. Apparemment c'est un programme que tu as protégé.

    En VBA, un projet, c'est une/des macro(s).
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2010
    Messages : 129
    Points : 78
    Points
    78
    Par défaut
    Oui mon le code vba de mon classeur est protégé par MDP de même que la feuille FL 1 mais je dois laisser ces protections...

Discussions similaires

  1. Réponses: 1
    Dernier message: 25/11/2014, 09h57
  2. copier une feuille graphique vers un autre classeur en vba
    Par rob1son76 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/03/2011, 17h53
  3. instructions pour accéder à une feuille d'un classeur par macro
    Par rogerone dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/02/2010, 12h30
  4. Enregistrer une feuille Excel sur un autre classeur
    Par Manou34 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 23/01/2008, 16h41
  5. [VBA-E] Afficher lignes masquées dans une feuille protégée
    Par kernel57 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 12/12/2005, 18h59

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