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 :

[VBA-E]Suppression liaisons dans excel


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [VBA-E]Suppression liaisons dans excel
    Bonjour,

    j'ai crée un fichier excel pour les congés qui a des liaisons avec un quinzaine d'autres fichiers.
    Le problème est que lorsque j'ai voulu dupliqué ce fichier pour 2006, j'ai modifié toutes les liaisons. Je ne sais pas pourquoi, mais une liaison reste et je ne peux pas la supprimer, la modifier.
    Il s'agit je pense d'un bug d'Excel et j'aurais voulu savoir comment coder en VB une macro pour supprimer une liaison

    Merci de votre réponse

  2. #2
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Hello!
    Ce sujet a été traité il n'y a pas longtemps. Fais une recherche avancée dans le forym VB, et tu trouveras ce qu'il te faut.

  3. #3
    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
    Points : 15 543
    Points
    15 543

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    quand on trouve pas dans les cellules il faut chercher dans les noms

  5. #5
    Tan
    Tan est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 168
    Points : 158
    Points
    158
    Par défaut
    Ramdom a raison, mais juste une note pour dire qu'avec office 2003 tu as une option pour toutes les virer automatiquement (dans Edition=> Liaisons)
    Donc si tu as cette version pas besoin de chercher, sinon, effictivment, rechercher dans les celulles et les noms de plages...

  6. #6
    Nouveau Candidat au Club
    Inscrit en
    Novembre 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    J'ai tout essayé et rien ne marche
    Je fais une recherche sur le nom de la liaison et plus rien n'existe dans les formules.
    J'essaie de changer la liaison par les code VB que vous m'avez fourni (change link) mais la liaison reste toujours.
    Je pense que mon entreprise va prochainement évoluer en office 2003 et je vais attendre cette évolution pour virer cette liaison récalcitrante.

    Merci de votre aide

  7. #7
    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
    Points : 15 543
    Points
    15 543
    Par défaut
    Je t'avais donné une adresse où le problème a été évoqué et où j'avais passé le code pour supprimer toutes les liaisons. Je te le remets donc :
    je l'utilise régulièrement et n'ai pas de pb.
    Désolé de me citer mais volà :

    Déjà, pour trouver la liste des liaisons (si elles vont toutes vers des fichiers Excel), tu peux faire ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub ListeDesLiaisons() 
    aLinks = ActiveWorkbook.LinkSources(xlExcelLinks) 
    If Not IsEmpty(aLinks) Then 
        For i = 1 To UBound(aLinks) 
            MsgBox "Liaison " & i & ":" & Chr(13) & aLinks(i) 
        Next i 
    End If 
    End Sub
    Ensuite, pour modifier les liaisons, tu as
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveWorkbook.ChangeLink "d:\xls\classeur1.xls", _ 
        "d:\xls\classeur2.xls", xlExcelLinks
    Si tu mets ça dans la boucle précédente, en modifiant le premier classeur par aLinks(i) et en mettant en second le classeur auquel doivent se référer les données, tu devrais pouvoir obtenir ce que tu veux. Ce qui pourrait donner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub ModifierLesLiaisons() 
          aLinks = ActiveWorkbook.LinkSources(xlExcelLinks) 
          If Not IsEmpty(aLinks) Then 
               For i = 1 To UBound(aLinks) 
                  MsgBox "Liaison " & i & ":" & Chr(13) & aLinks(i) 
                  ActiveWorkbook.ChangeLink aLinks(i), _ 
                       "d:\xls\classeur2.xls", xlExcelLinks 
               Next i 
          End If 
    End Sub
    Classeur2 deviendra le fichier lié au fichier actif et si le fichier actif est Classeur2, tu as supprimé toutes les liaisons entre fichiers mais pas les références de cellules ni de feuilles
    ATTENTION aux homonymes concernant les noms de feuilles
    Tu fais des essais, ça semble marcher mais VÉRIFIE sur des fichiers de test !
    Si tu as des questions...

    A+

Discussions similaires

  1. VBA - liste de validation dans excel et selection de la valeur en VBA
    Par gwen.s dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/04/2010, 16h36
  2. [VBA-E] Internet Explorer dans Excel ?
    Par iButton dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/01/2007, 19h13
  3. Fonctions VBA renvoyant des tableaux dans Excel
    Par phil_75 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/08/2006, 00h19
  4. [VBA-P] Problème liaisons powerpoint-Excel
    Par laloune dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/07/2006, 15h07
  5. [VBA-E]Fonction F2 dans Excel
    Par Ghis123 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 24/05/2006, 15h49

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