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 :

Liaison entre classeurs et protection


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Janvier 2017
    Messages : 3
    Par défaut Liaison entre classeurs et protection
    Bonjour à tous,

    Je travaille depuis un moment sur un fichier mais la je bloque et je viens solliciter votre aide
    Avant toutes choses je précise que je ne connais pas grand chose au VBA, je sais enregistrer une macro mais c'est à peu prêt tout Par contre je maitrise à peu prêt les formules !

    J'ai créé plusieurs fichier Excel (2007) contenant chacun plusieurs feuilles. Ces fichiers pour des questions d'organisation sont répartis dans plusieurs dossiers et il existe des liens entre ces fichiers qui doivent ce mettre à jour lors de l'ouverture:

    Dossier 1 (dossier global)
    Dossier 1.1 --> Fichier Excel (4 feuilles qui servent de document de base renseignant tous les autres)
    Dossier 1.2 --> Fichier Excel (112 feuilles qui reprennent des infos sur les 4 feuilles du dossier 1.1)
    ....Etc... (les autres dossiers reprennent également des infos dans le dossier 1.1)

    Mon... mes problèmes :
    Lorsque je change le nom du dossier 1 (qui doit impérativement changer pour chaque projet) je perds tous les liens, ce qui ne serait pas un problème car on peut les actualiser à l'ouverture, SAUF que les feuilles se doivent d'être protégées pour ne pas perdre les formules...

    Pour protéger les feuilles (112) j'ai trouver une macro que j'ai réussi à faire fonctionner qui les protège toutes en même temps :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub ProtectFeuille()
    Dim MaFeuille As Worksheet
    For Each MaFeuille In Worksheets
    MaFeuille.protect Password:="azerty"
    Next
    End Sub
     
    Sub UnProtectFeuille()
    Dim MaFeuille As Worksheet
    For Each MaFeuille In Worksheets
    MaFeuille.Unprotect Password:="azerty"
    Next
    End Sub
    Jusque la tout va bien sauf que je sais pas comment autoriser la mise à jour des liens, je trouve pas et plus rien ne fonctionne. Est ce qu'il y aurait un morceau de code qui permette à cette fonction de rester active ? ou une autre solution ? j'avoue que refaire les liens à chaque projet n'est pas des plus sympas!!

    J'espère avoir été clair dans a demande

    Merci à tous

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Dans l'éditeur de projet VBA de ton fichier, il y a un élément ThisWorkbook.
    Si tu fais un double clic dessus, tu peux y placer des macro évènementielles, c'est-à-dire qui se déclenche en fonction de certains évènements.
    Entre autre, tu peux y mettre une macro nommée Workbook_Open() qui se déclenchera à chaque ouverture du fichier.
    https://msdn.microsoft.com/fr-fr/lib.../ff196215.aspx

    Il te suffit de mettre dedans des instructions pour retirer la protection, remettre à jour les liens et remettre la protection.
    Tu pourras obtenir le code de remise à jour les liens en faisant un essai avec l'enregistreur de macro.

    Petit remarque en marge : j'espère que tu as pensé à protéger ta macro, parce que mettre un mot de passe dans un élément qui pourrait être consulté par n'importe qui, ce n'est pas très sécuritaire.

  3. #3
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Janvier 2017
    Messages : 3
    Par défaut
    Bonjour,

    Merci pour cette explication, je vais essayer de ce pas.

    Bon.. Ca se confirme, je ne suis pas arrivé !!!

    Le problème c'est que je ne connais pas le nom du futur dossier, il sera différent à chaque fois qu'un nouveau projet va démarrer.

    Et la je suis perdu


    Pour la remarque,je souhaite surtout protéger les formules des feuilles afin qu'elles ne soient pas effacée par erreur, je n'ai pas forcement besoin d'un mot de passe

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par sebastien25 Voir le message
    Le problème c'est que je ne connais pas le nom du futur dossier, il sera différent à chaque fois qu'un nouveau projet va démarrer.
    Le problème, c'est qu'il n'y a pas de bibliothèque "Boule de cristal" dans VBA.
    Nom : smileys-boule-cristal-tns0.gif
Affichages : 415
Taille : 49,8 Ko

    Pour la remarque,je souhaite surtout protéger les formules des feuilles afin qu'elles ne soient pas effacée par erreur, je n'ai pas forcement besoin d'un mot de passe
    Dans ce cas, ne mets pas de mot de passe.

  5. #5
    Candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Janvier 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Janvier 2017
    Messages : 3
    Par défaut
    Ca je m'en doutais bien..... La question n'est pas de demander à Excel de "deviner" les liens mais de laisser l'accès à l'utilisateur de renseigne le nouveau chemin d'accès. dans la boite de dialogue Modifier les liaisons, le bouton Modifier la source est grisé et je cherche juste comment le rendre accessible avec des feuilles protégées.

    Qu'il y est un mot de passe ou pas ça ne change rien au problème, si la feuille est protégée, la mise à jour et Modifier la source reste inaccessible.

    enfin tout ça ne fait pas avancer mon problème !!

Discussions similaires

  1. [XL-2003] problème liaisons entre classeurs
    Par shadows dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 05/11/2010, 17h42
  2. [XL-2003] Protection de cellules et liaisons entre classeurs
    Par Marco Le Gone dans le forum Excel
    Réponses: 5
    Dernier message: 03/08/2010, 23h33
  3. [XL-2000] liaisons entre classeurs excel
    Par lescalot dans le forum Excel
    Réponses: 5
    Dernier message: 30/10/2009, 12h02
  4. Réponses: 1
    Dernier message: 03/03/2009, 13h41
  5. Repérer rapidement une liaison entre classeurs
    Par solorac dans le forum Excel
    Réponses: 10
    Dernier message: 26/09/2007, 14h23

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