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 Cellule et autorisation utilisation lien hypertext


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 7
    Par défaut Protection Cellule et autorisation utilisation lien hypertext
    Bonjour à tous,

    J'utilise la macro suivante pour verrouiller toutes les cellules de toutes les feuilles de mon classeur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    ' FONCTION D'ACTIVATION DE PROTECTION DES CELLULES
    ' Cette fonction est appelée à l'ouverture du fichier dans "ThisWorkbook(open)"
     
    Sub Active_Protection_Cellule()
     
    For I = 1 To Sheets.Count
     
        Sheets(I).Activate
     
        ActiveSheet.Protect Password:="test", DrawingObjects:=True, _
        Contents:=True, Scenarios:=True 
     
    Next I
     
    Sheets(1).Activate
    'MsgBox ("Les feuilles sont désormais protégées par mot de passe")
     
    End Sub
    Le problème est que suite à l'activation de cette macro, les liens hypertexte ne sont plus utilisables.

    Auriez-vous une solution afin que les liens hypertexte puissent encore être utilisables ?

    En vous remerciant.
    Bonne soirée.

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    En déverouillant les cellules ayant un lien hypertexte. Sélectionner les cellules concernées puis "Format de cellule" > onglet "Protection" et décocher la case "Vérouillée"

    Toutes les autres cellules seront protégées sauf ces dernières.

    Hervé.

  3. #3
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Bonjour,

    Si je peux me permettre une petite modification de ta macro qui la rendra plus stable:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Sub Active_Protection_Cellule()
      ' FONCTION D'ACTIVATION DE PROTECTION DES CELLULES
      ' Cette fonction est appelée à l'ouverture du fichier dans "ThisWorkbook(open)"
     
      Dim wks As Worksheet
      For Each wks In ThisWorkbook.Worksheets
     
        wks.Protect Password:="test", DrawingObjects:=True, _
                    Contents:=True, Scenarios:=True
     
      Next wks
     
    'MsgBox ("Les feuilles sont désormais protégées par mot de passe")
     
    End Sub
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2011
    Messages : 7
    Par défaut
    Bonjour Theze,

    Je te remercie pour ta réponse, cependant je ne souhaite pas déverrouiller les cellules, car une fois déverrouillées elles sont modifiables. Sous Excel 2003 le fait de verrouiller une cellule n'empêche pas l'utilisation du lien qui la contient, je souhaiterais obtenir le même résultat dans Excel 2007.

    Si tu as une idée je suis preneur

    Bonne soirée.

    Bonjour AlainTech,

    Je te remercie pour ton amélioration de code, pourrais-tu m'expliquer si possible en quoi cela rend plus stable la macro, je suis curieux

    En te remerciant.

    Bonne soirée.

  5. #5
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Bonjour ou soir,

    Quand on utilise des ActiveSheet ou autres Selection, le risque est grand que, si l'utilisateur clique où que ce soit pendant le déroulement de la macro, cela perturbe complètement son comportement.

    Il est donc fortement conseillé de toujours travailler avec des instances d'objets comme dans l'exemple que je te donne.

    Dans ce cas-ci, la variable wks va pointer vers chacune des feuilles du classeur quoi que fasse l'utilisateur.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  6. #6
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 121
    Par défaut
    Salut
    Tu travailles sur Excel 2007, c'est bien ça?
    Je ne vois pas ou est ton problème.
    J'ai essayé de créer un lien hypertext, manuellement, via du code et via une formule. J'ai ensuite utiliser ton code pour verrouiller la page et tous les type de lien reste actif.
    Tu utilises quoi pour faire tes lien? Quel type de lien utilises tu? Externe interne?
    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

Discussions similaires

  1. détecter si une cellule comporte un lien hypertexte
    Par cwain dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/12/2006, 09h45
  2. Affichage lien hypertexte dans une cellule
    Par JACQUEMIN dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/12/2006, 10h36
  3. Utilisation des Liens hypertextes
    Par lolo_bob2 dans le forum Access
    Réponses: 3
    Dernier message: 26/04/2006, 14h10
  4. [VBA-E] Affecter un lien hypertexte au texte d'un cellule
    Par yaya54 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 03/03/2006, 09h38
  5. [Excel] Comment savoir si la cellule contient un lien hypertexte ?
    Par Millenod dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 16/12/2004, 11h01

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