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 22/06/2007, 17h25   #1
Invité régulier
 
Inscription : juin 2007
Messages : 17
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 17
Points : 5
Points : 5
Par défaut Modifer des liens avec une macro

Bonjour tout le monde,

J'ai une macro que j'arrive pas a faire marcher et vu qu'elle est pas de moi et que je suis une tanche en VBA, je compte sur vous...

Voila, le but c'est de modifier des liens: J'ai un doc word qui se met a jour sur un classeur excel. Mon souci c'est la police (toujours la quand il faut pas ceux-la... lol).

Je voudrais changer mes liens.

Pour resumer:

J'ai des liens qui ressemblent a ca:

{ LINK Excel.Sheet.8"C:\\...adressedulien..." Sheetl!R762C15 \a \r }

et a ca:

{ LINK Excel.Sheet.8"C:\\...adressedulien..." Sheetl!R762C15 \a \r \* MERGEFORMAT }


Les liens de la premiere forme doivent absolument etre change en:

{ LINK Excel.Sheet.8"C:\\...adressedulien..." Sheetl!R762C15 \a \r \* CHARFORMAT }

Et les liens de la deuxieme forme aussi si possible (ca evitera les surprises...)


Ce sont des liens vers des cellules Excel mis en place par: collage special, lien, RTF


La macro donnees par Berylion ne fonctionne pas ou je ne sais pas la faire fonctionner.


Voila, voila, si vous pouviez me sauver la mise sur ce coup la, ce serait franchement cool parcequ'il commence a me saouler ce catalogue...

Ci-dessous la macro

Sub Nemka2()
'
' Nemka2 Macro
' Macro created 22/06/2007 by v-pfl
'
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Application.ScreenUpdating = False
For Each fld In ThisDocument.Fields
......If fld.Type = 56 Then
..........If Right(fld.Code.Text, 14) = "\* MERGEFORMAT" Then
..............fld.Code.Text = Left(fld.Code.Text, Len(fld.Code.Text) - 14) & "\* CHARFORMAT"
..........ElseIf Right(fld.Code.Text, 13) <> "\* CHARFORMAT" Then
..............fld.Code.Text = fld.Code.Text & "\* CHARFORMAT"
..........End If
.....End If
Next
ThisDocument.Fields.Update
Application.ScreenUpdating = True
End Sub
P.S.: les points (.......) c'est pour materialiser les decalages.



Merci a tous,

Take Care
NemKa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2007, 14h50   #2
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Au 14ième message, tu ne sais pas encore utiliser les balises code ? Alors je vais t'expliquer tout ça :
Tu sélectionnes le code, tu fais un clic su l'icône # épicétou

Je regarde si je peux faire quelque chose pour toi (sans garantie)
A+
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/06/2007, 16h10   #3
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Tu pourrais tester ça
Code :
1
2
3
4
5
6
7
8
9
For Each fld In ActiveDocument.Fields
    If fld.Type = 56 Then
        If InStr(fld.Code.Text, "\* MERGEFORMAT ") <> 0 Then
            fld.Code.Text = Left(fld.Code.Text, Len(fld.Code.Text) - Len("\* MERGEFORMAT ")) & "\t " & "\* CHARFORMAT "
           ElseIf InStr(fld.Code.Text, "\* CHARFORMAT ") = 0 Then
            fld.Code.Text = fld.Code.Text & "\t " & " * CHARFORMAT "
        End If
    End If
Next
Tu dis
A+
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2007, 09h48   #4
Invité régulier
 
Inscription : juin 2007
Messages : 17
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 17
Points : 5
Points : 5
Ouskel'n'or, T'es un amour!!!

Merci tout plein tout beaucoup, je viens de voir ton message. Un lundi matin qui commence comme ca, ca fait toujours plaisir!!!!

Ca a marche nickel chrome cadmium. Merci, encore merci et mille fois merci (ma reconnaissance est a la hauteur du temps que tu m'a sauve)

A bientot sur le forum.
NemKa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2007, 11h45   #5
Invité régulier
 
Inscription : juin 2007
Messages : 17
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 17
Points : 5
Points : 5
Toutes mes confuses, j'ai zappe, d'habitude je le fais, promis...
NemKa est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h16.


 
 
 
 
Partenaires

Hébergement Web