1/ J'ai un fichier Word 2000, dont le texte contient, ici ou là, des références
à d'autres documents. Ces documents "externes" se trouvent sur un réseau
d'entreprise, on peut y accéder par ailleurs au moyen d'une adresse de type
"http://......". La racine de l'adresse est fonction du type de document externe
et le complément d'adresse correspond à la référence du document externe.
Je voudrais utiliser une macro VBA qui scrute chaque mot de mon fichier, détecte
s'il contient une référence à un document externe et associe à cette référence
un lien hypertexte pointant sur l'adresse http du document externe.
L'idéal serait que je puisse baser cette macro sur un tableau donnant la
structure des différentes références possibles et les adresses associées, par
exemple :
ou CONTRAT, FICHE, _, / représentent respectivement les chaînes de caractères
"CONTRAT", "FICHE", "_", "/"
et ou aa représente 2 caractères alphanumériques, aaaa 4 caractères
alphanumériques, nnn 3 caractères numériques, nnnn 4 caractères numériques.
Peut-être faudrait-il éviter d'associer un lien hypertexte lorsqu'il y en a déjà
un.
2/ Je voudrais aussi utiliser une macro qui soit capable de défaire ce que la
macro citée en 1/ réalise, c'est-à-dire supprimer les liens hypertexte : -
option 1 : sur la base du tableau de structure ci-dessus,
- option 2 : tous les liens hypertexte du fichier.
Merci pour toute aide que vous pourriez m'apporter (pas trop de temps pour
tâtonner, malheureusement, je dois avancer vite !).
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Anacoluthe
Bonjour !
'Quetzalcoatl' nous a écrit ...
1/ J'ai un fichier Word 2000, dont le texte contient, ici ou là, des références || Je voudrais utiliser une macro VBA qui scrute chaque mot de mon fichier || L'idéal serait que je puisse baser cette macro sur un tableau || 2/ Je voudrais aussi utiliser une macro qui soit capable de défaire || option 1 : sur la base du tableau de structure ci-dessus, || - option 2 : tous les liens hypertexte du fichier. || Merci pour toute aide || je dois avancer vite !
Aide ? Aide pour quoi ? :-p Si vous avez l'habitude de vba, il n'y a pas de difficulté particulière dans ce projet. Si vous n'avez pas l'habitude de vba, abandonnez vite l'idée d'avancer vite !!! :-)
Anacoluthe « On ne peut rien enseigner à autrui. On ne peut que l'aider à le découvrir lui-même. » - GALILÉE
Bonjour !
'Quetzalcoatl' nous a écrit ...
1/ J'ai un fichier Word 2000, dont le texte contient, ici ou là, des références ||
Je voudrais utiliser une macro VBA qui scrute chaque mot de mon fichier ||
L'idéal serait que je puisse baser cette macro sur un tableau ||
2/ Je voudrais aussi utiliser une macro qui soit capable de défaire ||
option 1 : sur la base du tableau de structure ci-dessus, ||
- option 2 : tous les liens hypertexte du fichier. ||
Merci pour toute aide || je dois avancer vite !
Aide ? Aide pour quoi ? :-p
Si vous avez l'habitude de vba, il n'y a pas de difficulté
particulière dans ce projet. Si vous n'avez pas l'habitude de
vba, abandonnez vite l'idée d'avancer vite !!! :-)
Anacoluthe
« On ne peut rien enseigner à autrui.
On ne peut que l'aider à le découvrir lui-même. »
- GALILÉE
1/ J'ai un fichier Word 2000, dont le texte contient, ici ou là, des références || Je voudrais utiliser une macro VBA qui scrute chaque mot de mon fichier || L'idéal serait que je puisse baser cette macro sur un tableau || 2/ Je voudrais aussi utiliser une macro qui soit capable de défaire || option 1 : sur la base du tableau de structure ci-dessus, || - option 2 : tous les liens hypertexte du fichier. || Merci pour toute aide || je dois avancer vite !
Aide ? Aide pour quoi ? :-p Si vous avez l'habitude de vba, il n'y a pas de difficulté particulière dans ce projet. Si vous n'avez pas l'habitude de vba, abandonnez vite l'idée d'avancer vite !!! :-)
Anacoluthe « On ne peut rien enseigner à autrui. On ne peut que l'aider à le découvrir lui-même. » - GALILÉE
Quetzalcoatl
Aide ? Aide pour quoi ? :-p Si vous avez l'habitude de vba, il n'y a pas de difficulté particulière dans ce projet. Si vous n'avez pas l'habitude de vba, abandonnez vite l'idée d'avancer vite !!! :-)
J'ai écrit quelques lignes, en tâtonnant, sous EXCEL, mais jamais sous WORD. Je sais bien qu'il vaudrait mieux chercher par moi-même, mais j'apprécierais, pour cette fois, que quelqu'un me donne les instructions de base pour réaliser cette macro.
Si c'est trop compliqué, peut-être qu'en revanche quelqu'un accepterait de me donner les quelques lignes pour chacun des 3 problèmes suivants : - associer un lien hypertexte à la sélection courante (je sélectionnerais alors à la main chaque référence et lancerais la macro à chaque fois), - effectuer un remplacement (exemple : remplacer "CONTRAT" par "CONTRACT" dans tous les liens hypertexte de mon fichier), - effacer tous les liens hypertexte.
Merci d'avance !
-- Bye-Bye
Aide ? Aide pour quoi ? :-p
Si vous avez l'habitude de vba, il n'y a pas de difficulté
particulière dans ce projet. Si vous n'avez pas l'habitude de
vba, abandonnez vite l'idée d'avancer vite !!! :-)
J'ai écrit quelques lignes, en tâtonnant, sous EXCEL, mais jamais sous WORD.
Je sais bien qu'il vaudrait mieux chercher par moi-même, mais j'apprécierais,
pour cette fois, que quelqu'un me donne les instructions de base pour réaliser
cette macro.
Si c'est trop compliqué, peut-être qu'en revanche quelqu'un accepterait de me
donner les quelques lignes pour chacun des 3 problèmes suivants :
- associer un lien hypertexte à la sélection courante (je sélectionnerais alors
à la main chaque référence et lancerais la macro à chaque fois),
- effectuer un remplacement (exemple : remplacer "CONTRAT" par "CONTRACT" dans
tous les liens hypertexte de mon fichier),
- effacer tous les liens hypertexte.
Aide ? Aide pour quoi ? :-p Si vous avez l'habitude de vba, il n'y a pas de difficulté particulière dans ce projet. Si vous n'avez pas l'habitude de vba, abandonnez vite l'idée d'avancer vite !!! :-)
J'ai écrit quelques lignes, en tâtonnant, sous EXCEL, mais jamais sous WORD. Je sais bien qu'il vaudrait mieux chercher par moi-même, mais j'apprécierais, pour cette fois, que quelqu'un me donne les instructions de base pour réaliser cette macro.
Si c'est trop compliqué, peut-être qu'en revanche quelqu'un accepterait de me donner les quelques lignes pour chacun des 3 problèmes suivants : - associer un lien hypertexte à la sélection courante (je sélectionnerais alors à la main chaque référence et lancerais la macro à chaque fois), - effectuer un remplacement (exemple : remplacer "CONTRAT" par "CONTRACT" dans tous les liens hypertexte de mon fichier), - effacer tous les liens hypertexte.
Merci d'avance !
-- Bye-Bye
Quetzalcoatl
Si c'est trop compliqué, peut-être qu'en revanche quelqu'un accepterait de me donner les quelques lignes pour chacun des 3 problèmes suivants : 1/ associer un lien hypertexte à la sélection courante (je sélectionnerais alors à la main chaque référence et lancerais la macro à chaque fois), 2/ effectuer un remplacement (exemple : remplacer "CONTRAT" par "CONTRACT" dans
tous les liens hypertexte de mon fichier), 3/ effacer tous les liens hypertexte.
Bon, je me suis pris en main, là !
1/ ça fonctionne : Const LINK_1 = "http://LINK_1/" Const LINK_2 = "http://LINK_2/" Const LINK_3 = "http://LINK_3/" Sub LINKS() Dim LINK Select Case Left(Selection, 7) Case "PRODUC/" LINK = LINK_1 Case "COMPTA/" LINK = LINK_2 Case "VENTES/" LINK = LINK_3 Case Else Exit Sub End Select ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:=LINK & Selection, SubAddress:="" End Sub
Sub DELETE_LINKS() Selection.Range.Hyperlinks(1).Delete End Sub
2/ et 3/ Comment scruter le fichier pour y trouver les liens hypertexte ? Comment faire un test sur chaque lien ? (du type : for each lien_hypertexte in mon_document if Left(lien_hypertexte,14) = "http://LINK_1/" then ActiveDocument.Hyperlinks.Add Anchor:=?????, Address:="http://LINK_2/" & ?????, SubAddress:="" ou bien if Left(lien_hypertexte,14) = "http://LINK_1/" or "http://LINK_2/" or "http://LINK_3/" then Hyperlinks.Delete)
Merci d'avance !
-- Adessiatz
Si c'est trop compliqué, peut-être qu'en revanche quelqu'un accepterait de me
donner les quelques lignes pour chacun des 3 problèmes suivants :
1/ associer un lien hypertexte à la sélection courante (je sélectionnerais
alors à la main chaque référence et lancerais la macro à chaque fois),
2/ effectuer un remplacement (exemple : remplacer "CONTRAT" par "CONTRACT"
dans
tous les liens hypertexte de mon fichier),
3/ effacer tous les liens hypertexte.
Bon, je me suis pris en main, là !
1/ ça fonctionne :
Const LINK_1 = "http://LINK_1/"
Const LINK_2 = "http://LINK_2/"
Const LINK_3 = "http://LINK_3/"
Sub LINKS()
Dim LINK
Select Case Left(Selection, 7)
Case "PRODUC/"
LINK = LINK_1
Case "COMPTA/"
LINK = LINK_2
Case "VENTES/"
LINK = LINK_3
Case Else
Exit Sub
End Select
ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:=LINK &
Selection, SubAddress:=""
End Sub
Sub DELETE_LINKS()
Selection.Range.Hyperlinks(1).Delete
End Sub
2/ et 3/ Comment scruter le fichier pour y trouver les liens hypertexte ?
Comment faire un test sur chaque lien ?
(du type :
for each lien_hypertexte in mon_document
if Left(lien_hypertexte,14) = "http://LINK_1/" then
ActiveDocument.Hyperlinks.Add Anchor:=?????, Address:="http://LINK_2/" & ?????,
SubAddress:=""
ou bien
if Left(lien_hypertexte,14) = "http://LINK_1/" or "http://LINK_2/" or
"http://LINK_3/" then Hyperlinks.Delete)
Si c'est trop compliqué, peut-être qu'en revanche quelqu'un accepterait de me donner les quelques lignes pour chacun des 3 problèmes suivants : 1/ associer un lien hypertexte à la sélection courante (je sélectionnerais alors à la main chaque référence et lancerais la macro à chaque fois), 2/ effectuer un remplacement (exemple : remplacer "CONTRAT" par "CONTRACT" dans
tous les liens hypertexte de mon fichier), 3/ effacer tous les liens hypertexte.
Bon, je me suis pris en main, là !
1/ ça fonctionne : Const LINK_1 = "http://LINK_1/" Const LINK_2 = "http://LINK_2/" Const LINK_3 = "http://LINK_3/" Sub LINKS() Dim LINK Select Case Left(Selection, 7) Case "PRODUC/" LINK = LINK_1 Case "COMPTA/" LINK = LINK_2 Case "VENTES/" LINK = LINK_3 Case Else Exit Sub End Select ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, Address:=LINK & Selection, SubAddress:="" End Sub
Sub DELETE_LINKS() Selection.Range.Hyperlinks(1).Delete End Sub
2/ et 3/ Comment scruter le fichier pour y trouver les liens hypertexte ? Comment faire un test sur chaque lien ? (du type : for each lien_hypertexte in mon_document if Left(lien_hypertexte,14) = "http://LINK_1/" then ActiveDocument.Hyperlinks.Add Anchor:=?????, Address:="http://LINK_2/" & ?????, SubAddress:="" ou bien if Left(lien_hypertexte,14) = "http://LINK_1/" or "http://LINK_2/" or "http://LINK_3/" then Hyperlinks.Delete)