OVH Cloud OVH Cloud

Détruire les liens hypertextes

9 réponses
Avatar
M41
Bonjour

J'ai 2 documents xls : MonExcel1 et MonExcel2.
Le second est une copie du premier grace à une macro.

Je souhaite détruire tous les types liens hypertextes (web, doc...)
qui existent dans le MonExcel2 avec une macro contenue
dans MonExcel1.

Quelle syntaxe VBA utiliser ?

Merci. Cordialement.

M41

9 réponses

Avatar
Fredo P.
Bonsoir tous
With Range("A1:L35")
.Hyperlinks.Delete
End With

--
'Ôtez toutes voyelles avant l'@

"M41" a écrit dans le message de news:
45bce873$0$27375$
Bonjour

J'ai 2 documents xls : MonExcel1 et MonExcel2.
Le second est une copie du premier grace à une macro.

Je souhaite détruire tous les types liens hypertextes (web, doc...)
qui existent dans le MonExcel2 avec une macro contenue
dans MonExcel1.

Quelle syntaxe VBA utiliser ?

Merci. Cordialement.

M41




Avatar
MichDenis
L'utilisation des apostrophes "'" permet d'utiliser un nom
de classeur contenant des espaces , sans ces dernières,
point de salut.

Cette façon de faire est valide si les 2 fichiers sont ouverts
NomDuClasseur.xls = Nom du classeur où est la macro.
Test1 est le nom de ta macro

Dim LaMacro As String
LaMacro = "'" & Workbooks("NomDuClasseur.xls" & "'!test1"
Application.Run LaMacro


"M41" a écrit dans le message de news:
45bce873$0$27375$
Bonjour

J'ai 2 documents xls : MonExcel1 et MonExcel2.
Le second est une copie du premier grace à une macro.

Je souhaite détruire tous les types liens hypertextes (web, doc...)
qui existent dans le MonExcel2 avec une macro contenue
dans MonExcel1.

Quelle syntaxe VBA utiliser ?

Merci. Cordialement.

M41
Avatar
MichDenis
La syntaxe devrait ressembler plutôt à ceci :

Dim LaMacro As String
LaMacro = "'NomDuClasseur.xls'!test1"
Application.Run LaMacro



"MichDenis" a écrit dans le message de news:

L'utilisation des apostrophes "'" permet d'utiliser un nom
de classeur contenant des espaces , sans ces dernières,
point de salut.

Cette façon de faire est valide si les 2 fichiers sont ouverts
NomDuClasseur.xls = Nom du classeur où est la macro.
Test1 est le nom de ta macro

Dim LaMacro As String
LaMacro = "'" & Workbooks("NomDuClasseur.xls" & "'!test1"
Application.Run LaMacro


"M41" a écrit dans le message de news:
45bce873$0$27375$
Bonjour

J'ai 2 documents xls : MonExcel1 et MonExcel2.
Le second est une copie du premier grace à une macro.

Je souhaite détruire tous les types liens hypertextes (web, doc...)
qui existent dans le MonExcel2 avec une macro contenue
dans MonExcel1.

Quelle syntaxe VBA utiliser ?

Merci. Cordialement.

M41
Avatar
M41
Rebonjour
Je crois que là on ne détruit que les liens d'une certaine zone du document
actif.
Mon problème est de détruire les liens du document 2 avec une macro contenue
dans la document 1.
Les 2 documents sont ouverts mais 1 est celui qui "à la main".
Le document 2 est une copie des feuilles du document 1 mais sans les macros
(+++).
Merci
M41



"Fredo P." a écrit dans le message de news:

Bonsoir tous
With Range("A1:L35")
.Hyperlinks.Delete
End With

--
'Ôtez toutes voyelles avant l'@

"M41" a écrit dans le message de news:
45bce873$0$27375$
Bonjour

J'ai 2 documents xls : MonExcel1 et MonExcel2.
Le second est une copie du premier grace à une macro.

Je souhaite détruire tous les types liens hypertextes (web, doc...)
qui existent dans le MonExcel2 avec une macro contenue
dans MonExcel1.

Quelle syntaxe VBA utiliser ?

Merci. Cordialement.

M41








Avatar
M41
Merci. Cordialement
M41
"MichDenis" a écrit dans le message de news:
uK4%
La syntaxe devrait ressembler plutôt à ceci :

Dim LaMacro As String
LaMacro = "'NomDuClasseur.xls'!test1"
Application.Run LaMacro



"MichDenis" a écrit dans le message de news:

L'utilisation des apostrophes "'" permet d'utiliser un nom
de classeur contenant des espaces , sans ces dernières,
point de salut.

Cette façon de faire est valide si les 2 fichiers sont ouverts
NomDuClasseur.xls = Nom du classeur où est la macro.
Test1 est le nom de ta macro

Dim LaMacro As String
LaMacro = "'" & Workbooks("NomDuClasseur.xls" & "'!test1"
Application.Run LaMacro


"M41" a écrit dans le message de news:
45bce873$0$27375$
Bonjour

J'ai 2 documents xls : MonExcel1 et MonExcel2.
Le second est une copie du premier grace à une macro.

Je souhaite détruire tous les types liens hypertextes (web, doc...)
qui existent dans le MonExcel2 avec une macro contenue
dans MonExcel1.

Quelle syntaxe VBA utiliser ?

Merci. Cordialement.

M41






Avatar
LSteph
Bonjour,

j'ai deux classeurs ouverts

lun.xls
et
lautre.xls

dans lun
j'ai la macro
dans lautre je veux supprimer les liens Hypertextes

Sub DHLMCL2()
Dim sh As Worksheet
For Each sh In Workbooks("lautre.xls").Sheets
sh.Hyperlinks.Delete
Next
End Sub

Cordialement.

lSteph

Bonjour

J'ai 2 documents xls : MonExcel1 et MonExcel2.
Le second est une copie du premier grace à une macro.

Je souhaite détruire tous les types liens hypertextes (web, doc...)
qui existent dans le MonExcel2 avec une macro contenue
dans MonExcel1.

Quelle syntaxe VBA utiliser ?

Merci. Cordialement.

M41




Avatar
M41
ReRebonjour

Il n'y a plus de macro dans la copie qui n'est fidèle qu'au niveau du
contenu des feuilles.
Plutôt qqchose comme :

'Dans MonExcel1.xls
Private Const MonExcel as string ="MonExcel"

Sub DestructionLienCopie2 ()
Dim T as String
T=MonExcel & "2"
With... pour toutes les cellules des feuilles de T
.Hyperlinks.Delete 'comme dirait "Fredo P."
End With
End sub

Comment créer une collection qui contiendrait toutes les cellules de toutes
les feuilles d'un document (ici T) ? Solution assez universelle transposable
à d'autres actions.... Existe t il un risque d'erreur en cas d'absence de
lien
pour une cellule ?

Merci.

M41


"MichDenis" a écrit dans le message de news:
uK4%
La syntaxe devrait ressembler plutôt à ceci :

Dim LaMacro As String
LaMacro = "'NomDuClasseur.xls'!test1"
Application.Run LaMacro



"MichDenis" a écrit dans le message de news:

L'utilisation des apostrophes "'" permet d'utiliser un nom
de classeur contenant des espaces , sans ces dernières,
point de salut.

Cette façon de faire est valide si les 2 fichiers sont ouverts
NomDuClasseur.xls = Nom du classeur où est la macro.
Test1 est le nom de ta macro

Dim LaMacro As String
LaMacro = "'" & Workbooks("NomDuClasseur.xls" & "'!test1"
Application.Run LaMacro


"M41" a écrit dans le message de news:
45bce873$0$27375$
Bonjour

J'ai 2 documents xls : MonExcel1 et MonExcel2.
Le second est une copie du premier grace à une macro.

Je souhaite détruire tous les types liens hypertextes (web, doc...)
qui existent dans le MonExcel2 avec une macro contenue
dans MonExcel1.

Quelle syntaxe VBA utiliser ?

Merci. Cordialement.

M41






Avatar
M41
Merci. Cordialement.

M41


"LSteph" a écrit dans le message de news:
%
Bonjour,

j'ai deux classeurs ouverts

lun.xls
et
lautre.xls

dans lun
j'ai la macro
dans lautre je veux supprimer les liens Hypertextes

Sub DHLMCL2()
Dim sh As Worksheet
For Each sh In Workbooks("lautre.xls").Sheets
sh.Hyperlinks.Delete
Next
End Sub

Cordialement.

lSteph

Bonjour

J'ai 2 documents xls : MonExcel1 et MonExcel2.
Le second est une copie du premier grace à une macro.

Je souhaite détruire tous les types liens hypertextes (web, doc...)
qui existent dans le MonExcel2 avec une macro contenue
dans MonExcel1.

Quelle syntaxe VBA utiliser ?

Merci. Cordialement.

M41




Avatar
LSteph
.. la boucle sur les feuilles devrait suffir.
(voir que j'ai proposé)
Hyperlinks appartient d'abord à la feuille avant de savoir dans quelle
cellule!

@+

LSteph

ReRebonjour

Il n'y a plus de macro dans la copie qui n'est fidèle qu'au niveau du
contenu des feuilles.
Plutôt qqchose comme :

'Dans MonExcel1.xls
Private Const MonExcel as string ="MonExcel"

Sub DestructionLienCopie2 ()
Dim T as String
T=MonExcel & "2"
With... pour toutes les cellules des feuilles de T
.Hyperlinks.Delete 'comme dirait "Fredo P."
End With
End sub

Comment créer une collection qui contiendrait toutes les cellules de toutes
les feuilles d'un document (ici T) ? Solution assez universelle transposable
à d'autres actions.... Existe t il un risque d'erreur en cas d'absence de
lien
pour une cellule ?

Merci.

M41


"MichDenis" a écrit dans le message de news:
uK4%
La syntaxe devrait ressembler plutôt à ceci :

Dim LaMacro As String
LaMacro = "'NomDuClasseur.xls'!test1"
Application.Run LaMacro



"MichDenis" a écrit dans le message de news:

L'utilisation des apostrophes "'" permet d'utiliser un nom
de classeur contenant des espaces , sans ces dernières,
point de salut.

Cette façon de faire est valide si les 2 fichiers sont ouverts
NomDuClasseur.xls = Nom du classeur où est la macro.
Test1 est le nom de ta macro

Dim LaMacro As String
LaMacro = "'" & Workbooks("NomDuClasseur.xls" & "'!test1"
Application.Run LaMacro


"M41" a écrit dans le message de news:
45bce873$0$27375$
Bonjour

J'ai 2 documents xls : MonExcel1 et MonExcel2.
Le second est une copie du premier grace à une macro.

Je souhaite détruire tous les types liens hypertextes (web, doc...)
qui existent dans le MonExcel2 avec une macro contenue
dans MonExcel1.

Quelle syntaxe VBA utiliser ?

Merci. Cordialement.

M41