Macro pour supprimer les liens du classeur, Excel VBA

Il est conseillé de supprimer les liens des classeurs si vous souhaitez les envoyer à des collègues. De toute façon, vos collègues ne peuvent rien faire avec les liens, sauf si vous fournissez également les classeurs liés. Il arrive aussi souvent que des «liens fantômes» soient créés. Cela fait référence aux liens qui ne sont plus valides car les fichiers source liés ne sont plus disponibles. Dans les deux cas, cependant, vous obtiendrez toujours la requête de mise à jour lorsque vous ouvrez le classeur, qui signalera ensuite une erreur si vous essayez de mettre à jour les classeurs liés. Ça ne doit pas être. Utilisez une macro pour supprimer ces liens.

Sub SupprimerLiensDossier ()

Dim LienA As Variant

Dim i As Integer

LienA = ActiveWorkbook.LinkSources(xlExcelLinks)

If Not IsEmpty(LienA) Then

 For i = 1 To UBound(LienA)

     ActiveWorkbook.ChangeLink Name:=LienA(i), _

     newname:=ThisWorkbook.Name

 Next i

End If

End Sub

 

Définissez un champ de données du type de données Variant en enregistrant les noms et les chemins des classeurs liés à l’aide de la méthode LinkSources. Vous demandez ensuite si le classeur contient des liens. Sinon, la fonction IsEmpty renvoie la valeur True, ce qui signifie que le champ de données LienA est vide. Dans l’autre cas, une boucle For Next est mise en place. La boucle commence par le premier lien et se termine par le dernier, qui se trouve dans le champ de données LienA. Vous pouvez déterminer la dernière entrée dans le champ de données LienA à l’aide de la fonction UBound. Utilisez la méthode ChangeLink dans la boucle. Cette méthode modifie un lien d’un document à un autre. En tant que premier argument, vous devez spécifier la source, c’est-à-dire le lien vers l’autre classeur que vous obtenez à partir du champ de données LienA. Le deuxième argument est le nom du nouveau lien. Al s nouveau raccourci entrez le nom du classeur actif.

Étant donné que la méthode ChangeLink ne modifie que le nom du classeur, vous devez être prudent lorsque vous supprimez des liens de cette manière. Les liens externes peuvent bien sûr être supprimés de cette manière; cependant, la méthode laisse les références de cellule d’origine dans le lien, qui font ensuite référence au classeur actif.

S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x