VBA - Exécuter Macro dans un autre fichier Excel

Bonjour à tous,

Je suis débutant en VBA et j'aimerai avoir votre opinion sur la meilleure façon de coder sur le cas suivant :

J'exporte un classeur Excel d'une application qui se nomme "Book1" (j’émet l'hypothèse que je n'aurai jamais un autre classeur book1 ouvert avant). Le classeur s'ouvre mais je ne l'ai pas encore enregistré sur son ordinateur.

J'aimerai que la macro "module1" d’un autre fichier Excel "Macro" (enregistré sur l'ordinateur et ouvert) modifie le classeur "Book1".

Actuellement, j’ai créé la Macro du fichier Excel Macro mais elle ne s’exécute que sur le même fichier Excel et non sur le « Book1 » ouvert. J’ai remis le problème à plus tard (maintenant) mais je ne suis pas convaincu que c’était la meilleure option.

Comment puis-je faire pour que la macro de mon fichier Excel « Macro », s’exécute sur le fichier « Book1 » ?

Dans mes recherches, j'ai retrouvé pas mal de cas ou le fichier où était la Macro devait prendre des informations d'autres fichiers mais pas le cas contraire.

J'ai essayé avec des Worksheets("Book1").sheets(sheet1).activate et d'autres idées qui n'ont pas fonctionnées.

Pensez-vous que c’est possible ce que j’essaye de faire où qu’une autre manière de procédé serait plus adéquate (que le fichier où est ouvert la macro prennent les informations de l’autre fichier).

En pièce jointe, je vous joints les deux fichiers.

Je vous remercie d’avance pour votre aide,

Cordialement,

8book1.xlsx (9.33 Ko)
17macro.xlsm (26.29 Ko)

bonjour

pour récupérer des infos d'un fichier à un autre il y a plusieurs possibilités

  • collage spécial "liaison"
  • simple égalité
  • menu Données/récupérer (ça cache Power Query)

on n'a pas besoin de VBA

d'une manière générale, il FAUT apprendre "menu Données/récupérer" et les Tableaux bien avant d'apprendre à faire une addition, et donc avant d'apprendre VBA (j'utilise Excel en pro depuis 20 ans, sans aucun VBA).

Bonjour,

Merci pour votre réponse. Malgré le fait que je suis tout à fait d'accord qu'il serait bon de revoir ces bases d'Excel, cela ne m'aiderait pas dans mon cas.

Je pense que je n'ai pas été assez explicite dans mon précédent message.

J'ai une macro qui change le format, rajoute des couleurs, supprime des lignes, crée des graphiques de manière automatique (chose impossible à faire sans passer par le VBA). Cette macro s'exécute sur le fichier même de la Macro. Ce que je souhaiterai c'est qu'elle modifie un autre fichier Excel ouvert.

J'espère que ce message vous permettra de voir ou je veux en venir,

Cordialement,

re

oui, je vois. C'est en partie mon métier dans diverses entreprises

on ne crée jamais de nouveau fichier par VBA. Jamais.

on crée un fichier de visualisation et traitement des données saisies dans un (des) fichier de saisie, et on le réactualise selon les besoins

il faut "connecter" d'une manière ou d'une autre le fichier de graphique aux fichiers de saisie.

  • Power Query : la plus puissante de toutes les solutions
  • des =
  • des formules

VBA n'est pas un langage complexe peu fiable dans le temps à cause des évolutions des logiciels et de Windows (sauf si tu es prêt à le remodifier régulièrement)

essaye aussi Power BI Desktop gratuit et hyyyyyyper-puissant.

Re,

Je vous remercie pour votre réponse. Je vais me renseigner pour Power Query et Power BI Desktop que je ne connait pas du tout actuellement.

Concernant le VBA, qu'une macro d'un fichier modifie un autre fichier ouvert (mais non enregistré sur l'ordinateur) ce n'est donc pas possible ?

Serait-ce plus judicieux et faisable que je fasse simplement un "copier coller" des données présentes dans le fichier ouvert sur celui ou ma Macro est présente? Dans ce cas, je devrait juste rajouter une ligne de code où je supprime les données présentes si je ne me trompe.

Encore merci pour votre réponse et je suis assez curieux des outils dont vous avez parler!

re

concernant le "copier/coller", il vaut mieux mettre des = entre cellules des fichiers

ou bien si le fichier source change, utiliser le menu Données/récupérer. Microsoft développe cette fonction à toute vitesse, car c'est son avenir, et le nôtre aussi

pas de VBA

Rechercher des sujets similaires à "vba executer macro fichier"