IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Word Discussion :

Liaison mise à jour


Sujet :

VBA Word

  1. #1
    Membre actif Avatar de CODYCO
    Homme Profil pro
    Webplanneur
    Inscrit en
    Avril 2009
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 217
    Points : 259
    Points
    259
    Par défaut Liaison mise à jour
    Bonjour à tous et une bonne année 2013.

    Je relance un vieux sujet que j'avais déjà évoquer en 2012 mais sans vraiment avoir trouver de soluce, donc au cas ou certain peuvent m'aider
    on ne sait jamais.

    En essayer de faire claire notre parck info était en office 2003, sur des fichiers word nous avons un grand nombre de liaison avec excel (collage avec liaison), jusque la pas de problème, parfois il arrivait que des liaisons ce casse, bref, j'avais une petite macro qui me réparer les liasions, cool.

    Sauf que voila maintenant notre parck info est en office 2010, et la patatra,
    j'ai bien essayer d'adapter la macro mais rien ne va plus, je continu à récupérer et réparer mes liaisons sur des tableaux excel, mais cela ne marche pas sur les graphiques...help

    Je joins le code...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
     
    Sub MAJ_Liaison()
    Dim alink As Field, linktype As Range, linkfile As Range
    Dim linklocation As Range, i As Integer, j As Integer, linkcode As Range
    Dim Message, Title, Default, Newfile
    Dim counter As Integer
     
    'Nom1 = Application.ActiveDocument.Name
    'Nom1 = Mid(Nom1, 1, 4)
     
    'Crée une fenetre d'acces vers fichier excel pour définir le fichier
    Set objExcel = CreateObject("Excel.Application")
    objExcel.Visible = False
     
    'Définie la boite de dialogue excel ouvrir
    Set objExcel = Application.FileDialog(msoFileDialogFilePicker)
    With objExcel
     
    If .Show = -1 Then
                For Each Source In .SelectedItems
                    chemin = Source
                    Temp = Replace(chemin, "\", "\\")
                    chemin = Replace(Temp, "W:", "\\\\Sntp0350\\Travail")
                    If chemin Like "*2011*" Then
                      Nom1 = "2011"
                    ElseIf chemin Like "*2012*" Then
                      Nom1 = "2012"
                    End If
                    'chemin = "\\\\Sntp0350\\Travail" & Temp
                Next Source
    End If
    End With
    'Décompose et recompse le lien des liaisons
    counter = 0
    For Each alink In ActiveDocument.Fields
    If alink.Type = wdFieldLink Then
     
    Set linkcode = alink.Code
    i = InStr(linkcode, Chr(34))
    Set linktype = alink.Code
    linktype.End = linktype.Start + i
    j = InStr(Mid(linkcode, i + 1), Chr(34))
    Set linklocation = alink.Code
    linklocation.Start = linklocation.Start + i + j - 1
     
    If linklocation Like "*2011*" Then
    Nom2 = "2011"
    ElseIf linklocation Like "*2012*" Then
    Nom2 = "2012"
    End If
    linklocation = Replace(linklocation, Nom2, Nom1)
    If counter = 0 Then
    Set linkfile = alink.Code
    linkfile.End = linkfile.Start + i + j - 1
    linkfile.Start = linkfile.Start + i
    Message = "Veuillez confirmer le nouveau chemin pour les liaisons "
    Format " & linkfile "
    Title = "Update Lien"
    Default = chemin
    Newfile = InputBox(Message, Title, Default)
    End If
     
     
    linkcode.Text = linktype & Newfile & linklocation
    counter = counter + 1
    End If
    Next alink
    End Sub
    Webplanneur comme disait Plastik...

    Si la réponse répond à votre besoin, votre vote nous encouragera.
    Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Pourquoi utilser des Range pour le contenu des champs ?
    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 !

  3. #3
    Membre actif Avatar de CODYCO
    Homme Profil pro
    Webplanneur
    Inscrit en
    Avril 2009
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 217
    Points : 259
    Points
    259
    Par défaut
    Que me proposes tu ? crois tu vraiment que le problème peux venir de là?
    Webplanneur comme disait Plastik...

    Si la réponse répond à votre besoin, votre vote nous encouragera.
    Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.

  4. #4
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    J'en ai aucune idée.
    Tu n'as pas de message d'erreur ?

    Perso, je n'ai pas ce problème de liens brisés et je n'ai pas testé ton code.

    Mais s'il ne fonctionne pas, tu devrais avoir un message et la ligne qui pose problème.
    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 !

  5. #5
    Membre actif Avatar de CODYCO
    Homme Profil pro
    Webplanneur
    Inscrit en
    Avril 2009
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 217
    Points : 259
    Points
    259
    Par défaut
    En faite mon soucis est bien la c'est que je n'ai pas de message d'erreur, mais que seule les liens de tableau sont réparés et pas les graphiques...
    Webplanneur comme disait Plastik...

    Si la réponse répond à votre besoin, votre vote nous encouragera.
    Dans le cas ou la réponse mérite, à vos yeux, un , nous faire partager la raison de ce vote, pourrait nous permettre de nous améliorer.

Discussions similaires

  1. [VBA-Excel]Mise à jour des liaisons powerpoint
    Par Mando dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/12/2006, 23h51
  2. Mise à jour liaison de fichier
    Par melodyyy dans le forum Général VBA
    Réponses: 7
    Dernier message: 25/11/2006, 13h48
  3. Word : Mise à jour automatique des liaisons
    Par tiftay01 dans le forum Word
    Réponses: 13
    Dernier message: 13/02/2006, 10h34
  4. Mise à jour des liaisons Excel.
    Par franckh99 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 26/12/2005, 12h51
  5. Réponses: 2
    Dernier message: 21/12/2005, 14h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo