Macro de supprimer des liens de formule dans Excel pour Mac

Traductions disponibles Traductions disponibles
Numéro d'article: 192895 - Voir les produits auxquels s'applique cet article
Pour un Microsoft Excel 97 et des versions antérieures de cet article, voyez 126093.
Agrandir tout | Réduire tout

Sommaire

Résumé

Lorsque vous ouvrez un classeur qui contient des liens vers un autre classeur Microsoft Excel vous demande si vous souhaitez mettre ces liens à jour Si le fichier auquel se réfère le lien n'existe plus ou s'il a été déplacé vers un autre dossier vous souhaitez peut-être supprimer ces liens pour éviter que ce message apparaisse

Plus d'informations

Est un lien l'un des types de liaison plus courants de formule. Une formule de liaison dans une cellule peut faire référence à une cellule d'un fichier dont le classeur est fermé Si ce fichier n'existe plus la formule n'est plus valable Pour supprimer un tel lien, cliquez sur Rechercher dans le menu Edition et dans rechercher un point d'exclamation (!). Si l'échec de cette action, recherchez un crochet ([]). Les cellules contenant un lien sont sélectionnées une à une Vous pouvez ensuite supprimer la formule et la remplacer par la valeur qui se trouvait dans la cellule S'il y a beaucoup de formules de liaison supprimer les liens peut prendre du temps Pour accélérer le processus de suppression vous pouvez utiliser l'une des méthodes suivantes Les macros vous permettront de supprimer certains liens et pas d'autres Il ne supprime pas de liens aux classeurs ouverts ou dans le classeur actif.

REMARQUE : ces macro ne peuvent pas fonctionner si le fichier source pour un lien se trouve sur un lecteur réseau. Si tel est le cas le lien sera trouvé mais pas supprimé

Exemple de code Visual Basic

Microsoft fournit d'illustration uniquement exemples de programmation sans la garantie exprès ou implicite. Cela inclut, mais n'est pas limité aux garanties implicites de qualité ou adéquation à un usage particulier. Cet article suppose que vous êtes familier avec le langage de programmation présenté et les outils utilisés pour créer et pour déboguer des procédures. Ingénieurs de Support technique Microsoft peuvent aider à expliquer la fonctionnalité d'une procédure particulière, mais ils ne modifieront pas ces exemples pour fournir qu'a ajouté la fonctionnalité ou pour construire des procédures pour répondre à vos besoins spécifiques.
  1. Tapez le code de macro suivant sur une nouvelle feuille de module
        Option Base 1
    
        'This macro deletes all formula links in a workbook.
        '
        'This macro does not delete a worksheet formula that references an open
        'book, for example:
        '
        '   =[Book1.xls]Sheet1!$A$1
        '
        ' To delete only the links in the active sheet, see the comments
        ' provided in the Delete_It macro later in this article.
    
        Public Times As Integer
        Public Link_Array As Variant
    
        Sub Should_Delete()
        Items = 0 'initialize these names
        Times = 0
        Link_Array = ActiveWorkbook.LinkSources 'find all document links
    
        Items = UBound(Link_Array) 'count the number of links
        For Times = 1 To Items
    
        'Ask whether to delete each link
        Msg = "Do you want to delete this link:  " & Link_Array(Times)
          Style = vbYesNoCancel + vbQuestion + vbDefaultButton2
          Response = MsgBox(Msg, Style)
          If Response = vbYes Then Delete_It
          If Response = vbCancel Then Times = Items
        Next Times
        End Sub
    
        Sub Delete_It()
        Count = Len(Link_Array(Times))
        For Find_Bracket = 1 To Count - 1
          If Mid(Link_Array(Times), Count - Find_Bracket, 1) = ":" _
          Then Exit For
        Next Find_Bracket
        'Add brackets around the file name.
        With_Brackets = Left(Link_Array(Times), Count - Find_Bracket) & _
          "[" & Right(Link_Array(Times), Find_Bracket) & "]"
    
        'Does the replace.
    
        'If you want to remove links only on the active sheet, change the
        'next two lines into comments by placing an (') apostrophe in front of
        'them as well as the line, "Next Sheet_Select", that closes the loop.
    
        For Each Sheet_Select In ActiveWorkbook.Worksheets
    
        Sheet_Select.Activate
        Set Found_Link = Cells.Find(what:=With_Brackets, After:=ActiveCell, _
                lookin:=xlFormulas, lookat:=xlPart, searchorder:=xlByRows, _
                searchdirection:=xlNext, matchcase:=False)
           While UCase(TypeName(Found_Link)) <> UCase("Nothing")
               Found_Link.Activate
    
               On Error GoTo anarray
    
               Found_Link.Formula = Found_Link.Value
    
               Set Found_Link = Cells.FindNext(After:=ActiveCell)
    
           Wend
        Next Sheet_Select 'To remove links only on the active sheet
                         'place an (') apostrophe at the front of this line.
    
        Exit Sub
    
        anarray:
        Selection.CurrentArray.Select
        Selection.Copy
        Selection.PasteSpecial Paste:=xlValues
        Resume Next
    
        End Sub
    					
  2. Exécutez la macro Should_Delete
  3. Chaque lien du classeur est identifié et un message vous demande si vous souhaitez le supprimer Si vous cliquez sur Oui, le lien est supprimé et la valeur actuelle de cellule est enregistrée dans les chaque cellules qui précédemment ont été liées.

Propriétés

Numéro d'article: 192895 - Dernière mise à jour: mardi 23 janvier 2007 - Version: 4.4
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Excel 2004 for Mac
  • Microsoft Excel X for Mac
  • Microsoft Excel 2001 for Mac
  • Microsoft Excel 98 for Macintosh
Mots-clés : 
kbdtacode kbhowto KB192895 KbMtfr kbmt
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que feraient une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique. Si vous relevez des erreurs graves et souhaitez contribuer à l?amélioration du système, vous pouvez compléter l?enquête à votre disposition dans le bas des articles.
La version anglaise de cet article est la suivante: 192895
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com