Supprimer les liens

sokour

XLDnaute Occasionnel
Bonjour,

J'ai un classeur qui contient des cellules dans plusieurs feuilles avec des liens : 'C:\Excel\[Test.xls]Printout'!E16

Je voudrais juste conserver la valeur résultant des ces liens et supprimer les liens mais mannuellement le travail est trop long.

Peut on le faire par une macro ou par une fonction Excel.

Merci
 
G

Guest

Guest
Re : Supprimer les liens

Bonjour,

Code:
Sub SupprimerLiens()
    Dim sh As Worksheet
    For Each sh In Worksheets
        Do While sh.Hyperlinks.Count > 0
            sh.Hyperlinks(1).Delete
        Loop
    Next sh
End Sub

A+
 
Dernière modification par un modérateur:

James007

XLDnaute Barbatruc
Re : Supprimer les liens

Bonjour,

Je me demande s'il n'y a pas une petite confusion au sujet des liens ...
car la macro indiquée supprime les liens du style
Code:
http://www.excel-downloads.com/forum/
alors que tu sembles parler des liens entre fichiers excel ...
Merci d'apporter tes précisions

A +
 
G

Guest

Guest
Re : Supprimer les liens

Re,

Le while avait disparu de la boucle d'où l'erreur:

Code:
Sub SupprimerLiens()
    Dim sh As Worksheet
    For Each sh In Worksheets
        Do [SIZE=3][COLOR=red][B]While[/B][/COLOR][/SIZE] sh.Hyperlinks.Count > 0
            sh.Hyperlinks(1).Delete
        Loop
    Next sh
End Sub

@James, cette macro supprime Tous les liens qu'il soient entre classeur ou http ou intra document.

A+
 
G

Guest

Guest
Re : Supprimer les liens

Re,

J'avais lu un peu vite la demande initiale:rolleyes:

Voici qui conserve uniquement les valeurs des cellules dont les formules contiennent des liens vers d'autres classeurs.

Code:
[COLOR=BLUE]Sub[/COLOR] SupprimerLiensDansFormules()
    [COLOR=BLUE]Dim[/COLOR] sh [COLOR=BLUE]As[/COLOR] Worksheet
    [COLOR=BLUE]Dim[/COLOR] plg [COLOR=BLUE]As[/COLOR] Range, c [COLOR=BLUE]As[/COLOR] Range
    [COLOR=BLUE]Dim[/COLOR] pos [COLOR=BLUE]As[/COLOR] [COLOR=BLUE]Integer[/COLOR]
    [COLOR=BLUE]For[/COLOR] [COLOR=BLUE]Each[/COLOR] sh [COLOR=BLUE]In[/COLOR] Worksheets
        [COLOR=BLUE]On[/COLOR] [COLOR=BLUE]Error[/COLOR] [COLOR=BLUE]Resume[/COLOR] [COLOR=BLUE]Next[/COLOR]
        [COLOR=BLUE]Set[/COLOR] plg = sh.UsedRange.SpecialCells(xlCellTypeFormulas)
        [COLOR=BLUE]On[/COLOR] [COLOR=BLUE]Error[/COLOR] [COLOR=BLUE]GoTo[/COLOR] 0
        [COLOR=BLUE]If[/COLOR] [COLOR=BLUE]Not[/COLOR] plg [COLOR=BLUE]Is[/COLOR] [COLOR=BLUE]Nothing[/COLOR] [COLOR=BLUE]Then[/COLOR]
            [COLOR=BLUE]For[/COLOR] [COLOR=BLUE]Each[/COLOR] c [COLOR=BLUE]In[/COLOR] plg
                [COLOR=BLUE]If[/COLOR] InStr(c.Formula, [i]"]"[/i]) [COLOR=BLUE]Then[/COLOR] c = c.Value
            [COLOR=BLUE]Next[/COLOR] c
        [COLOR=BLUE]End[/COLOR] [COLOR=BLUE]If[/COLOR]
    [COLOR=BLUE]Next[/COLOR] sh
[COLOR=BLUE]End[/COLOR] [COLOR=BLUE]Sub[/COLOR]

A+
 

Discussions similaires

Réponses
3
Affichages
464

Statistiques des forums

Discussions
312 331
Messages
2 087 359
Membres
103 528
dernier inscrit
hplus