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 :

Actualiser une connexion de données entre deux classeurs par bouton


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Chargé d'études statistique
    Inscrit en
    Février 2017
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Algérie

    Informations professionnelles :
    Activité : Chargé d'études statistique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2017
    Messages : 96
    Par défaut Actualiser une connexion de données entre deux classeurs par bouton
    Bonjour a tous,

    J'ai un petit problème avec une macro d'actualisation.

    Voila j'explique mon cas:

    J'ai deux classeurs excel à faire connecter, le classeur sur lequel je travail est appelé Base1 (il représente la source de données), et le deuxième est appelé Base2, et c'est lui que je veut faire connecté par le classeur Base1.

    Le nom de la connexion est appelé alors : Base1_connect

    J'ai enregistrer par la suite l'actualisation des données par une macro appelé ActualiserConnect, elle enregistrer dans le classeur Base2, et ça marche bien on l'exécutons depuis Base2

    Mon problème est: j'ai essayé de créer un bouton qui fait exécuter cette macro par un code VBA (Bouton commande Activex) mais depuis mon classeur de travail (c'est a dire Base1) mais ça na pas marcher, voila ce que j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton1_Click()
      Application.Run "Base2.xls!'ActualiserConnect'"
    End Sub
    J'ai même essayé d'autre expression, mais toujours pas de résultats.

    Alors est-ce qu'il y a quelqu'un qui peut me corriger cette expression.

    Merci d'avance pour toute intervention.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 678
    Par défaut
    Salut,

    peux tu nous confirmer ceci :

    - tu as 2 classeurs Base1 et Base2
    - tu as un bout de code dans Base2 qui met a jour des infos
    - tu as un bouton et un bout de code dans Base1 qui doit lancer le code de Base2

    C'est bien cela ?
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre confirmé
    Homme Profil pro
    Chargé d'études statistique
    Inscrit en
    Février 2017
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Algérie

    Informations professionnelles :
    Activité : Chargé d'études statistique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2017
    Messages : 96
    Par défaut
    Oui, c'est bien cela.

    Deux classeurs, Base1 (source de données) et Base2 (récepteur de données).

    Voici les codes sur Visuel Basic:


    Macro sur Base2 dans Module1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub ActualiserConnect()
     '
     ' ActualiserConnect Macro
     '
     
     '
        ActiveWorkbook.RefreshAll
     
    End Sub

    Bouton click sur Base1 (le code est au niveau de Feuil1 (Feuil1) ) qui fait éxecuter la Maro sur Base2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Private Sub CommandButton1_Click()
           Application.Run "Base2.xlsm!'ActualiserConnect'"
       End Sub

  4. #4
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 678
    Par défaut
    OK,

    quelques idees pour commencer :

    - place ta sub en Public dans le module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Sub ActualiserConnect()
    - il faut t'assurer que le classeur Base2 soit bioen ouvert
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  5. #5
    Membre confirmé
    Homme Profil pro
    Chargé d'études statistique
    Inscrit en
    Février 2017
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Algérie

    Informations professionnelles :
    Activité : Chargé d'études statistique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2017
    Messages : 96
    Par défaut
    Toujours ça donne rien.

    Remarque :

    En faite, Il y a un réglage sur la propriétés de connexion de excel (dans Données--->Connexion--->Propriété), et sur la boite de dialogue je trouve que c'étais coché par default (Activer la connexion en arrière-plant et Activer cette connexion à la commande de actualiser tout).
    C'est a dire que excel, propose entre temps quelques réglage d'actualisation.

    Est-ce que cela peut poser problème à mon code ?

  6. #6
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 678
    Par défaut
    Ce qui me chiffonne c'est "pourquoi base2 doit rafraichir les donnees depuis base1 ?"
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

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

Discussions similaires

  1. [XL-2010] récupération de données entre deux classeurs
    Par Cap'taineSamSam dans le forum Excel
    Réponses: 5
    Dernier message: 15/05/2017, 15h22
  2. [ VB6 ]Copie de donnée entre deux classeurs Excel
    Par leriderfoudu77 dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 21/12/2012, 09h52
  3. [XL-2003] transfert de données entre deux classeurs fermés
    Par frihat mohamed dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/09/2011, 21h26
  4. Données externes entre deux classeurs
    Par hkpsyco dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/10/2007, 13h17
  5. selectionner une borne de dates entre deux dates données
    Par itchyjojo dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 18/05/2007, 07h07

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