modifier liaison dans classeur protégé

copayo

XLDnaute Occasionnel
Bonjour à tous,

J'ai un pb assez simple mais que je n'arrive pas à résoudre.

Je diffuse un fichier excel protégé. Mes interlocuteurs ont fait des liaisons sur ce fichier.

Ils souhaitent maintenant pouvoir modifier les liaisons dans ce fichier Excel.

Pb : lorsque le fichier est protégé, l'utilisateur ne peut pas modifier ses liaisons.

Comment faire pour l'autoriser à modifier ses liaisons sans lui donner les mdp ?

Merci par avance de vos contributions
 

porcinet82

XLDnaute Barbatruc
Re : modifier liaison dans classeur protégé

Salut,

Peut etre une idée en rajoutant un bouton sur ton classeur intitulé Mise à jour des liaisons dans lequel tu désactiverais la protection du classeur, mettrais a jour les liaisons et reprotegerai le classeur...

@+
 

copayo

XLDnaute Occasionnel
Re : Solution presque satisfaisante

Re,

j'ai réussi à me faire ma macro mais il y a un aspect qui ne me plait pas du tout. Je joint l'exemple en zip. voir fichier conso.

La macro fonctionne comme ceci :

1/ identification de toutes les liaisons XL dans une listbox
2/ Selection par l'utilisateur de la liaison à modifier
3/ Selection du nouveau fichier source
4 / Remplacement de l'ancienne liaison par la nouvelle

Au niveau du point 4 j'ai un bug de protection de feuille malgré la protection à l'ouverture avec userinterfaceonly. Ce bug apparait de temps en temps !!!!!

Avez vous une solution pour ce pb de protection du fichier ?

Je ne veux pas passer par une déprotection des feuilles qui necessiterait de connaitre le mot de passe. Cette macro devrait pouvoir s'éxécuter sur n'importe que fichier.

Merci par avance,
 

Pièces jointes

  • conso.zip
    25.2 KB · Affichages: 82
  • conso.zip
    25.2 KB · Affichages: 96
  • conso.zip
    25.2 KB · Affichages: 86

copayo

XLDnaute Occasionnel
Re : modifier liaison dans classeur protégé

re, merci de ton aide porcinet

tu te mets sur la feuille 1 et tu modifies saisie 1 en saisie 3 = > erreur

tu te mets sur la feuille 1 et tu modifies saisie 2 en saisie 3 = > ok

Userinterfaceonly est un code qui se met dans les protection de feuille et qui :
- autorise les macros à intervenir
- interdit les modifs de l'utilisateur
 

porcinet82

XLDnaute Barbatruc
Re : modifier liaison dans classeur protégé

re,

Merci pour les précision de Userinterfaceonly, je ne me rapellai plus du nom, mais c'est vrai que je l'avais deja utilisé.
En attendant qu'un plus doué que moi te trouve autre chose, moi je te propose le code suivant qui a l'air de tourner...
Mais j'ai eu beau chercher un peu, je n'ai pas compris pourquoi ton code touranit avec les fichiers 2 et 3 et pas avec les fichiers 1 et 3 !

Code:
Private Sub CommandButton2_Click()
Dim wksht As Worksheet
If TextBox1.Value = "" Or TextBox2.Value = "" Then
MsgBox ("Veuillez selectionner la liaison à modifier ainsi que le nouveau fichier source")
Else
    For Each wksht In ActiveWorkbook.Worksheets
        wksht.Unprotect "pwd"
    Next
    ActiveWorkbook.ChangeLink Name:=TextBox1.Value, NewName:=TextBox2.Value, Type:=xlExcelLinks
    
    For Each wksht In ActiveWorkbook.Worksheets
        wksht.Protect "pwd", , , , UserInterfaceOnly:=True
    Next
    ActiveWorkbook.Protect "pwd", True
Unload Me
End If
End Sub

@+
 

copayo

XLDnaute Occasionnel
Re : modifier liaison dans classeur protégé

bonjour,

merci pour cette solution mais je voulais absolument l'éviter.

sinon j'ai compris un peu d'ou vient le bug sans savoir le corriger :

il faut absolument que la feuille dans laquelle on se trouve contienne la liaison à modifier.

de plus même si la macro bug elle effectue tout de même la modification (partielle).

Si vous avez des compléments d'info sur ce pb, je suis preneur.

Cdt,
 

porcinet82

XLDnaute Barbatruc
Re : modifier liaison dans classeur protégé

Salut,

Je me doutais bien que tu voulais éviter cette méthode, mais dans le doute...
Je ne suis pas tres calé concernant les protections de feuille, peut etre qu'il existe une option ou une autre méthode pour passer outre, mais je ne la connais pas...
Bon courage,

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 497
Messages
2 088 992
Membres
104 000
dernier inscrit
dinelcia