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

Macros et VBA Excel Discussion :

[VB-Excel]suppression de liaison


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2005
    Messages : 35
    Par défaut [VB-Excel]suppression de liaison
    bonjour,
    j'ai récupéré un fichier excel ou il existe des liaisons vers d'autres classeurs. Je souhaite enlever ses liaisons. J'ai regarder dans edition-->liaison mais aucun moyen de les supprimer, donc je me suis résolu à écrire une macro :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub supprim()
     
         'code me retournant la liaison
         liaison = ActiveWorkbook.LinkSources(xlExcelLinks)
         If Not IsEmpty(liaison) Then
              Dim temp
              temp = 1
              MsgBox "Liaison " & temp & ":" & liaison(temp)  
         End If
     
         'suppression
         ActiveWorkbook.ChangeLink liaison(temp), "C:\julien\donnéesorigines\reports\final_long1.xls", xlLinkTypeExcelLinks
     
    End Sub
    la valeur de liaison(temp) est de la forme :"\\Bruno petit\APPLICATION\MESDOC~1\Devisinc.xls"

    le problème est que lorsque je vais vérifier dans edition/liaison, la liaison est toujoursla
    merci de votre aide

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Essaie avec ça
    Sub LiaisonsModifierSupprimer()
          Chemin = ActiveWorkbook.path + "\" & ActiveWorkbook.Name 'Nouveau chemin à indiquer
          aLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
          If Not IsEmpty(aLinks) Then
               For i = 1 To UBound(aLinks)
                    If MsgBox("Modifier la liaison " & i & ":" & Chr(13) & aLinks(i), vbYesNo, "") = vbYes Then '*********
                        ActiveWorkbook.ChangeLink aLinks(i), Chemin, xlExcelLinks
                    End If '***********
               Next i
          End If
    End Sub
    si tu retires les deux lignes '************** tu effaces toutes les liaisons
    Tu dis

  3. #3
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2005
    Messages : 35
    Par défaut
    j'obtiens toujours le meme résultat : la macro s'execute mais la liaison ne se supprime pas
    Après avoir cherché, je me suis aperçu que je n'ai pas accés au fichier lié ::"\\Bruno petit\APPLICATION\MESDOC~1\Devisinc.xls". Est ce que c'est cela qui empecherai la suppression ? Cela me semble peu probable mais la je vois pas trop ce qui cloche

    EDIT : en entrant directement le nom du fichier et en faisant ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
         chemin = ActiveWorkbook.Path + "\" & ActiveWorkbook.Name
    ActiveWorkbook.ChangeLink "\\Bruno petit\APPLICATION\MESDOC~1\Devisinc.xls", chemin, xlExcelLinks
    j'ai l'erreur suivante : la méthode changlink a échoué, donc le fait de ne pas avoir accés au fichier est le problème ...

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Bruno petit est le nom d'un serveur???
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  5. #5
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2005
    Messages : 35
    Par défaut
    en fait, j'ai juste récupéré l'emplacement des fichiers liés avec le code ce-dessous :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    liaison = ActiveWorkbook.LinkSources(xlExcelLinks)
         If Not IsEmpty(liaison) Then
              Dim temp
              temp = 1
              MsgBox "Liaison " & temp & ":" & liaison(temp)  
         End If
    mais c'est vrai qu'en recherchant \\Bruno petit , il n'y a rien ( comme je l'ai dit précédement je nai plus accés au fichier ). Par contre je ne comprend pas pourquoi le fait de ne pas avoir accé au fichier empeche l'execution de changelink

  6. #6
    Membre averti
    Inscrit en
    Juin 2005
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Juin 2005
    Messages : 35
    Par défaut
    dans le menu edition/liaison, j'ai essayé de modifier la source du fichier lié pour que ce soit mon classeur actif, mais impossible. J'ai donc modifier la source vers un autre fichier excel bidon, et je me suis dit que j'allais supprimer la liaison avec le code précédent. Mais rien aucune suppression
    Seul point positive : le fait de ne pas avoir accés au fichier n'influe pas changelink
    Point négatif : comprend pas pourquoi ça foire

Discussions similaires

  1. [Excel] Suppression d'un Worksheet seul. si existant
    Par Ken.L dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/09/2006, 08h58
  2. Excel 97 : Supprimer liaison
    Par jive dans le forum Excel
    Réponses: 1
    Dernier message: 12/09/2006, 01h02
  3. [VBA-E] macro VBA excel suppression graphiques
    Par totoza dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 30/05/2006, 08h45
  4. [VBA]Excel - Suppression de ligne
    Par Jseb de Lyon dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 29/01/2006, 15h22
  5. [vb/excel] suppression d'une colonne d'un tableau
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/10/2005, 10h17

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