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 pour coller avec liaison


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 506
    Par défaut VBA pour coller avec liaison
    Bonjour,

    J'ai un fichier "Maitre" et un fichier "Esclave".
    Le fichier "Maitre" (ceci est évidemment un exemple...) contient la fonction SOMME en A3 qui additionne A1 et A2... jusque là rien de transcendant...

    Le fichier "Esclave" récupère la valeur de A3 en B1 (par exemple) via l'option "Coller avec liaison", cela fonctionne très bien jusqu'au moment ou les fichiers sont déplacés... les liaisons sautent...

    Est-il possible de gérer cette liaison en VBA et régler le problème des changements de répertoire ?

    Ps : l' "Esclave" peut être déplacé, mais pas le "Maitre" et là est mon problème...

    Raison de cette demande
    Je fais partie d'un club de tennis de table, et nous devons encoder des feuilles de matchs pendant les rencontres, nous utilisons pour cela un fichier Excel (aucun problème), une des feuilles du classeur, récapitule les scores des équipes en cours, et j'aimerais pouvoir afficher sur un écran (TV) cette feuille, pour cela j'ai imaginé créer un autre classeur à afficher sur la TV qui reprendrait les résultats de cette feuille (récapitulatif)... et cela fonctionne très bien, le problème est que d'une semaine à l'autre le nom du répertoire de la feuille XL change... J'aimerais donc pouvoir dire au fichier "Esclave" qu'il doit aller chercher obligatoirement le fichier "Maitre" se trouvant dans son répertoire. Il y aurait donc dans chaque répertoire un ficher "Maitre" et "Esclave".


    Ps : LE TOP serait de créer un fichier HTML avec mise en page de cette feuille et de l'envoyer sur le Web via FTP, et de l'afficher via l'explorateur de la TV, mais là je cale aussi pour créer le fichier HTML et pour l'envoyer via FTP, j'ai trouvé des codes, mais rien ne fonctionne...

    Merci d'avance pour votre aide :-)

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    le chemin du fichier de la macro est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    chemin=ThisWorkbook.Path
    Sinon au plus simple. Tu ouvres tes 2 fichiers et tu fais enregistrer sous... dans le nouveau répertoire en finissant par celui avec les liens qui se seront mis à jour.
    eric

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 506
    Par défaut
    Bonjour,
    Merci pour votre réponse, mais cela ne fonctionne pas...

    J'ai opté pour une autre approche, qui est de simplement recopier les données d'un fichier vers un autre, mais cela ne fonctionne pas non plus... voici mes codes

    Le 1er test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Workbooks("maitre.xlsm").Activate
    Sheets("Feuil1").Range("C4").Copy
     
    Workbooks("esclave.xlsm").Activate
    Worksheets("Feuil1").Paste Destination:=Range("B6")
     
    Application.CutCopyMode = False
    Le 2ème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Workbooks(maitre.xlsm).Worksheets("Feuil1").Range("C4").Copy _
    Workbooks(esclave.xlsm).Worksheets("Feuil1").Range("B6")
    Rien ne fonctionne...

    Ps : J'aimerais aussi trouvé le code qui ouvrirait le fichier "esclave.xlsm" si il n'est pas ouvert et il l'ouvrirait dans une fenêtre indépendante.

    Pouvez-vous m'aider ?

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 266
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 266
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mais cela ne fonctionne pas...
    la 2nde technique sans vba ne peut pas ne pas fonctionner.
    Et je ne te vois pas utiliser ThisWorkbook.Path

    Met-toi en enregistrement de macro et fait 'Données / Connexions', bouton 'Modifier la source...'
    Tu auras la ligne essentielle.

    Ps : J'aimerais aussi trouvé le code qui ouvrirait le fichier "esclave.xlsm"
    Idem, utiliise l'enregistreur de macro et épure le code.
    Tu as aussi 'Affichage / Fenêtres / Enregistrer l'espace de travail'. Il te crée un fichier spécifique qui ouvrira tous les fichiers actuellement ouverts.
    eric

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 506
    Par défaut
    J'utilise bien du VBA...

Discussions similaires

  1. [WD-2013] Macro VBA pour coller le corps d'un Word dans un mail avec Outlook
    Par Antoine5 dans le forum VBA Word
    Réponses: 11
    Dernier message: 04/07/2017, 10h36
  2. Copier/coller avec liaison en VBA
    Par aurelu dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/05/2016, 15h21
  3. Réponses: 13
    Dernier message: 19/05/2016, 11h58
  4. Coller avec liaison une cellule grâce à son nom
    Par Remkix dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/10/2007, 15h09
  5. Débutante - Code VBA pour MsgBox avec actions multiples
    Par kisscool35 dans le forum Access
    Réponses: 5
    Dernier message: 22/08/2006, 17h43

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