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 02/01/2012, 11h58   #1
Membre habitué
 
Avatar de CODYCO
 
Homme
Webplanneur
Inscription : avril 2009
Messages : 141
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Webplanneur
Secteur : Bâtiment

Informations forums :
Inscription : avril 2009
Messages : 141
Points : 144
Points : 144
Par défaut mise à jour liaison vba

Bonjour à tous et bonne année!

Dans un document word je possède un grand nombre de liaisons excel créées par copier collage spéciale avec liaison sur des tableaux excel.

Je souhaiterais pouvoir modifier le chemin de la source excel par code vba afin de ne pas avoir a répéter l'opération, modifier la source et aller pointé le bon fichier.

J'ai chercher sur le forum et sur nénette mais je ne trouve pas mon bonheur.
J'ai quelques pistes avec "Fields" "Fields.Index" ou ".Text" et ".code" mais je ne parviens pas à modifier le chemin et mettre à jour.

Merci d'avance
CODYCO est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/01/2012, 18h35   #2
Responsable Word

 
Avatar de Heureux-oli
 
Homme Olivier Lebeau
Contrôleur d'industrie
Inscription : février 2006
Messages : 17 343
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 343
Points : 29 254
Points : 29 254
Salut,

Deux choix, avec ou sans VBA.
Sans VBA, il faut chercher du coté de la fonction de recherche et de remplacement fournie dans Word.
http://sepia.developpez.com/office/w...cherremplacer/

Ou alors en VBA, il faut faire un boucle sur tous les champs de ton document.

Si le type est 56

Code :
ActiveDocument.Fields(1).Type
On peut récupérer son contenu

Code :
ActiveDocument.Fields(1).Code
Et faire un replace dans la chaîne qu'il contient.

Le tout mis en musique donne ceci :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Sub utiliserChampLiaison()
'Déclaration de l'objet champ
Dim myFld As Field
'Boucle sur tous les champs du document
For Each myFld In ActiveDocument.Fields
'Si le champ est un collage avec liaison
If myFld.Type = 56 Then
'Remplacement d'un morceau du texte du champ
myFld.Code.Text = Replace(myFld.Code.Text, "dur", "can")
End If
Next myFld
 
End Sub
__________________
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
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h36.


 
 
 
 
Partenaires

Hébergement Web