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 :

Macro MisAJour liens excel partielle [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 5
    Par défaut Macro MisAJour liens excel partielle
    Bonjour,

    je réalise en ce moment une base de donnés qui prends des informations de plusieurs fichiers. Pour cela j'ai créé des liens qui font appels aux autres fichier. Le problème c'est que les fichiers de base se trouvent dans deux serveur différents, alors si je met mettre à jours, excel va me demander pour quelques liens de changer de lien parcequ'il ne trouve pas.

    Donc l'idée que j'ai eu c'est de empécher la mise a jour automatique lors de l'ouverture du fichier avec:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
       ThisWorkbook.UpdateLinks = xlUpdateLinksNever
    End Sub
    Mais après je voulait ajouter des bouttons qui permettent de dire quelle feuilles dans le fichier mettre à jours, mais je ne trouve pas une fonction qui me permettent mettre à jours les liens exclussivement d'une seule feuille du fichier et aucune autre. J'ai essayé avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ThisWorkbook.Worksheets("Secteur34").UpdateLinks = xlUpdateLinksAlways
      ThisWorkbook.Worksheets("Secteur34").UpdateLinks = xlUpdateLinksNever
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ThisWorkbook.Worksheets("Secteur23").UpdateLink _ Name:=ActiveWorkbook.LinkSources
      ThisWorkbook.Worksheets("Secteur23").UpdateLink _ Name:=ActiveWorkbook.LinkSources
    Mais ses fonctions ne servent que pour ThisWorkbook et non pour Worksheets.

    Est-ce qu'il y a une fontion qui puisse faire ce que je demande?

    Merci,

    Juansedu

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub test()
     
    With ThisWorkbook
    Liens = .LinkSources(xlExcelLinks)
    For Each lelien In Liens
        If Dir(lelien) <> "" Then
            .UpdateLink Name:=lelien, Type:=xlExcelLinks
        End If
    Next
    End With
     
    End Sub
    Tu peux partir là-dessus, ça a l'air de correspondre à ce que tu souhaites. Cette petite macro va te permettre de mettre à jour les liaisons de ton fichier mais seulement si elles existent. C'est ce que tu voulais faire à la base, non ?

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 5
    Par défaut
    Merci pour ta réponse DeaD78,

    J'ai essayé ton code mais il me pose des problèmes avec le dimmensionement de lelien et de Liens. Quel est donc leur type?

  4. #4
    Membre Expert Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Par défaut
    utilise la touche
    Citation Envoyé par La miraculeuse aide Excel
    LinkSources, méthode
    Cette méthode renvoie un tableau de liaisons dans le classeur. Les noms contenus dans le tableau sont ceux des documents, éditions ou serveurs DDE ou OLE liés. Cette méthode renvoie la valeur Empty s'il n'existe aucune liaison. Méthode de type Variant.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dim lelien() as variant
    devrais donc fonctionnner

  5. #5
    Nouveau membre du Club
    Inscrit en
    Mai 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 5
    Par défaut
    Merci,

    j'avais pas trop bien compris comment marché le UpdateLinks, mais maintenant ça marche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Macro pour automatiser liens excel access
    Par dim02 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 24/11/2009, 15h43
  2. Exportation et lien Excel
    Par Jah78 dans le forum Access
    Réponses: 12
    Dernier message: 03/01/2006, 17h42
  3. Envoi de mail via un macro vba sur excel
    Par momolamoto dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/12/2005, 18h51
  4. Probleme d'enregistrement sur Macro/VBA de Excel
    Par life is magic dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 28/11/2005, 17h23
  5. synchroniser macro access et excel
    Par sharpeye dans le forum Access
    Réponses: 8
    Dernier message: 02/11/2005, 11h55

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