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 :

Exécuter la VBA d'un classeur à partir d'un autre classeur?


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Février 2020
    Messages : 2
    Par défaut Exécuter la VBA d'un classeur à partir d'un autre classeur?
    Bonjour
    Mon problème est le suivant sous office 2010, J'ai plusieurs classeurs Excel (xyz.xlsm) à plusieurs feuilles avec des commandes VBA (ils ont tous les même commandes).
    Voilà, j'aimerais à partir d'un autre classeur (Classeur maitre) activé chaque commande VBA des autres classeurs à partir de ce classeur maitre pour ne pas avoir à répéter le même geste
    5, 10, 15 fois.

    Voici un exemple de commande qui se retrouve dans chaque classeur et qui copy un partie de la ligne 14 sur la ligne 16

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub CommandButton4_Click()
    Range("a14:z14").Select
     Selection.Copy
     Range("a16:z16").Select
     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
     :=False, Transpose:=False
     Application.CutCopyMode = False
    End Sub
    Merci de m'accorder de votre temps
    Bonne journée!

  2. #2
    Membre du Club
    Homme Profil pro
    Gestion comptable
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Gestion comptable

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Par défaut
    Bonsoir Facilitator,

    Plutôt qu'essayer de lancer les procédures VBA de chacun des classeurs slaves clones au niveau du code via un master,

    pourquoi ne pas tout simplement établir une liste des classeurs à affecter dans le classeur master,

    ce dernier contenant tout simplement le code pompé et adapté des classeurs slaves à appliquer ?

  3. #3
    Membre du Club
    Homme Profil pro
    Gestion comptable
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Gestion comptable

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Par défaut
    Quelques liens utiles pour concrétiser la chose :
    https://silkyroad.developpez.com/VBA/ClasseursFermes/
    https://excel.developpez.com/faq/?pa...BoucleFichiers
    https://vb.developpez.com/faqvba/?page=3.2#BookOpen

    Pour le code en exemple il est grandement possible de l'optimiser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub Exemple()
     
    Range("a16:z16").value = Range("a14:z14").value
     
    End Sub

  4. #4
    Membre Expert Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Par défaut
    Perso je travaillerais avec un classeur maître,contenant :

    - les différents chemins (col a) noms des classeurs à traiter (b), array des macro à lancer par nom classeur (col c) .
    - les différentes macro de traitements parametrable (workbook, worksheet) dans classeur maitre
    - boucle sur les différents fichier et boucle sur array des macro de traitement en fonction nom classeur

  5. #5
    Rédacteur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2013
    Messages
    1 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Août 2013
    Messages : 1 033
    Par défaut
    Un article :
    http://silkyroad.developpez.com/VBA/...sicEditor/#LVI


    Référence du développeur Excel
    Application.Run, méthode
    Cette méthode exécute une macro ou appelle une fonction. Elle peut être utilisée pour exécuter une macro écrite en Visual Basic ou dans le langage de macro de Microsoft Excel, ou pour exécuter une fonction dans une DLL ou une XLL.
    Syntaxe

    expression.Run(Macro, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, Arg11, Arg12, Arg13, Arg14, Arg15, Arg16, Arg17, Arg18, Arg19, Arg20, Arg21, Arg22, Arg23, Arg24, Arg25, Arg26, Arg27, Arg28, Arg29, Arg30)

    expression Variable qui représente un objet Application.

    Paramètres

    Nom Obligatoire/Facultatif Type de données Description
    Macro Facultatif Variante Macro à exécuter. Il peut s'agir d'une chaîne de caractères contenant le nom de la macro, d'un objet Range indiquant l'endroit où se trouve la fonction ou encore d'un identificateur de Registre pour une fonction DLL (XLL) inscrite dans le Registre. Si une chaîne est utilisée, elle sera évaluée dans le contexte de la feuille active.
    Arg1-Arg30 Facultatif Variante Argument à transmettre à la fonction.

    Valeur renvoyée
    Variante

    Remarques
    Vous ne pouvez pas utiliser d'arguments nommés avec cette méthode. Ils doivent être transmis par position.

    La méthode Run renvoie ce que la macro exécutée renvoie. Les objets qui sont transmis à la macro en tant qu'arguments sont convertis en valeurs (en appliquant la propriété Value à l'objet). Cela signifie que vous ne pouvez pas passer d'objets aux macros à l'aide de la méthode Run.
    © 2010 Microsoft Corporation. Tous droits réservés.

  6. #6
    Nouveau candidat au Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2020
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Février 2020
    Messages : 2
    Par défaut Exécuter une commande VBA à partir d'un autre classeur
    Merci pour vos suggestion,

    s'il y en a d'autre je suis preneur
    Je cherche une formule préfabriquer, Il faut savoir que je ne suis pas un expert en informatique, j'ai alors quelque difficulté avec le vocabulaire.

    Voilà, Je suis Trader en bourse et je suis depuis un certain temps à faire un programme avec excel qui me donne le prix où une action peut aller pour le jour suivant
    mon taux de réussite minimum entre 65% et 77% plus les jours passe plus le taux augmente, pour la semaine à venir mon taux de réussite entre 90% et 100%.

    J'ai un classeur avec plusieur feuilles pour chaque titres suivis. Chaque classeur a les mêmes nom de feuille et les mêmes formule VBA.

    Classeur master, j'ai déjà pensé et là je vais essayer cela pour commencer. Beaucoup de feuille à renommer, mais on fait pas d'omelettes sans casser d'œufs

    Merci encore pour votre aide!

Discussions similaires

  1. [XL-2010] Boucle VBA - Recopie de données à partir d'une autre feuille du classeur
    Par colinez dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 09/05/2017, 16h35
  2. [XL-2013] VBA recherche V a partir d'un autre fichier excel fermé
    Par elghazy dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/10/2016, 02h28
  3. Réponses: 1
    Dernier message: 21/01/2012, 01h48
  4. [VBA] Exécuter un module provenant d'Access à partir d'Excel
    Par LordTal dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/04/2007, 19h37
  5. VBA-E comment exécuter un code sur un classeur complet?
    Par djulegnome dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 13/06/2006, 12h29

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