Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Word > VBA Word
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/10/2007, 17h52   #1
Invité de passage
 
Inscription : octobre 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 2
Points : 0
Points : 0
Par défaut Recherche de chaine particulière

Salut à tous,
Voila dans un doc Word sous office 2000 je cherche à insérer des liens hypertexte en lieu et place de chaine de caractères particulières.
En gros les chaines ressemblent toute à : 2 lettres, 7 chiffres, 1 espace, 1 lettre 1 chiffre. ex AB1234567 A1
A chaque fois que je repère une de ces chaines, je veux la remplacer par un lien hypertexte intégrant la partie "2 lettres, 7 chiffres" dans l'adresse et affichant l'ensemble "2 lettres, 7 chiffres, 1 espace, 1 lettre 1 chiffre".

Pour le moment j'ai écrit ca (l'adresse est fictive):
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Sub CreateLink()
 
 
ActiveDocument.Select
 
Set myRange = ActiveDocument.Range(Start:=0, End:=Selection.End)
For Each aWord In myRange.Words
    If (aWord.Text Like "AB#######") = True Then
        ActiveDocument.Hyperlinks.Add Anchor:=aWord, Address:="http://www.google.com/" & aWord.Text ,SubAddress:="", ScreenTip:="", TextToDisplay:=aWord.Text
    End If
 
Next aWord
 
 
End Sub
Le problème avec mon Like c'est que j'ai l'impression que des qu'il y a un espace ca coince?
Des idées???
rkvgi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 18h26   #2
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 354
Détails du profil
Informations personnelles :
Nom : Homme Olivier Lebeau
Âge : 47
Localisation : Belgique

Informations professionnelles :
Activité : Contrôleur d'industrie
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : février 2006
Messages : 17 354
Points : 29 270
Points : 29 270
Essaie avec la fonction replace.
Je pense qu'elle devrait mieux convenir.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
Débutez en VBA

Mes articles


Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !
Heureux-oli est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/10/2007, 15h37   #3
Invité de passage
 
Inscription : octobre 2007
Messages : 2
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 2
Points : 0
Points : 0
Merci, finalement j'ai conservé ma première méthode et réidentifié le problème.
En fait certaines parties de mon doc word sont des tableaux. Si la macro trouve une chaine dans une des cases des tableaux et la remplace par le lien, les deux caractères qui suivent la chaine disparaissent.
En gros avant le passage j'ai AB1234567 A1, ma macro cherche des chaines AB####### et les remplace par un lien du style : http://www.google.com/AB#######/
Le problème est qu'une fois le remplacement fait seul AB1234567 apparait.
Des idées?

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub Createlink()
 
Set myRange = ActiveDocument.Range(Start:=0, End:=Selection.End)
 
For Each aWord In myRange.Words
 
    If (aWord Like "AB####### ") = True Then
        ActiveDocument.Hyperlinks.Add Anchor:=aWord, Address:="http://www.google.com\" & aWord & "\", SubAddress:="", ScreenTip:="", TextToDisplay:=aWord
    End If
 
Next aWord
 
ActiveDocument.Words(1).Select
 
 
End Sub
rkvgi est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h29.


 
 
 
 
Partenaires

Hébergement Web