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 :

Passer un paramètre VBA d'un classeur Excel à un autre [XL-365]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Avril 2007
    Messages
    272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2007
    Messages : 272
    Par défaut Passer un paramètre VBA d'un classeur Excel à un autre
    Bonjour,

    Actuellement j'ai un fonctionnement codé dans la procédure sur événement WorkBook_Open codée dans ThisWorkBook.
    Ce code charge un autre fichier Excel contenant une macro complexe, et j'ai besoin de lui passer un paramètre.
    Donc dans la procédure appelant, je sauve ce paramètre dans une feuille Excel et la procédure appelée vient relise ce paramètre sauvegardé dans une feuille.

    Ma question comment passer ce paramètre de façon plus directe en VBA pur ?

    Dans l'appelante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("MonParamètre").Value = Préfixe_Répt
    Workbooks.Open Filename:=Automate, ReadOnly:=True
    Ce code permet de le charger et de lui passer la main via, là aussi, l'utilisation de la procédure événement WorkBook_Open

    Dans l'appelée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Workbook_Open()
             Préfixe_Répertoire = Range("MonParamètre").Value
             Mes_Actions (Préfixe_Répertoire)
            End If
    End Sub
    Autrement dit comment pourrais-je appeler directement la Fonction "Mes_Actions" contenue dans le fichier Excel appelé ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Function Mes_Actions(Préfixe_Répertoire)
    On pourrait bien sûr travailler avec un Excel ".XLAM" mais là on se heurte à d'autres problèmes de maintenance des configuration du parc informatique très réparti.
    Ce que nous avons délibérément exclu

    Donc un chargement à la volée au moment du besoin nous semble beaucoup plus facile à maintenir.

    Per avance merci de vos commentaires aiguillages etc.
    Bertrand

  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 682
    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 682
    Par défaut
    Salut,

    n'est-il ici pas plus pragmatique dans ton fichier B de ne pas avoir ton workbook_open mais plus simplement ton ouverture de classeur puis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Run "'Ton autre classeur.xlsm'!NomDeMacro", TonParametre
    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 expérimenté
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Avril 2007
    Messages
    272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2007
    Messages : 272
    Par défaut
    C'est exactement ce que je cherchais.
    Un grand merci Jean-Philippe
    Bertrand

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

Discussions similaires

  1. Exporter un tableau VBA dans le classeur Excel
    Par dexterchief dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2011, 18h23
  2. VBA - agregger 1 classeur excel par ligne
    Par cassedu dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 23/10/2009, 11h48
  3. relier une interface programmée sous VBA avec un classeur excel
    Par lio911_lio dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 27/08/2008, 14h18
  4. [VBA-E]Fermer classeur EXCEL parmi plusieurs
    Par flyfrog dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 30/04/2006, 11h54
  5. [VBA] supprimer un Classeur Excel
    Par beurnoir dans le forum Access
    Réponses: 26
    Dernier message: 14/11/2005, 14h05

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