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 :

ouvrir macro sur plusieurs Excel.application


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2012
    Messages : 32
    Par défaut ouvrir macro sur plusieurs Excel.application
    Bonjour,

    Aujourd'hui j'ai une question concernant un code que je réalise.

    La question est :

    j'ai un code qui fait la suite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for i = 0 to 50 
     
    do quelque chose 
     
    next
    Ce que je veux faire c'est pour chaque i ouvrir un nouveau excel.application, lancer le code qui se trouve entre for et next dans le nouveau Excel application ( donc on peut copier directement le code dans le nouveau excel ou bien le re-écrir, c'est pas si grâve).

    Une idée pour cette question?


    Je vous remercie par avance.

  2. #2
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    Bonjour,

    Voici une macro pour ajouter après ton for i ...
    Attention ton for i va jusqu'a 50 et si je comprends bien tu veux donc ouvrir 51 nouveaux classeurs Excel?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    Sub OuvrirExcel()
     
    'Tu va créer 3 nouveaux Excel
    For i = 0 To 2
     
    Dim ExcelObj As Excel.Application
    Dim xlBook As Excel.Workbook
     
    'On créer l'objet Excel
    Set ExcelObj = CreateObject("Excel.Application")
    'On défini le nombre d'onglets (ici 4)
    ExcelObj.SheetsInNewWorkbook = 4
    'On ajoute un classeur
    Set xlBook = ExcelObj.Workbooks.Add
    'On donne un nom au classeur
    xlBook.SaveAs ("Mon Classeur" & i & ".xls")
    'On rend le classeur visible
    ExcelObj.Visible = True
     
    'Puis Après ton 
    'DO quelque chose
     
    Next i
     
     
    End Sub
    Cdt,

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2012
    Messages : 32
    Par défaut
    Merci mais, J'ai déjà ce code.
    mmmmh, désolé, peut être que je devais être plus claire avec ma question.

    Le but c'est de lancer plusieurs macros à la fois " En Parallèle".


    Donc, ce que tu as écrit ouvre seulement un nouveau ExcelAppli mais il n'y ajoute pas un code, ni lancer le code. et je pense, à mon avis, si on utilise la .RUN, Excel va lancer les fichier l'un aprés l'autre et non pas en même temps.

    J'ai essayé d'utiliser object.Run, mais ça lance d'abord un fichier et puis il attend que ce dernier termine pour lancer le deuxième.

    J'espère que c'est un peu plus claire maintenant.

  4. #4
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    Citation Envoyé par yalmallo Voir le message
    Ce que je veux faire c'est pour chaque i ouvrir un nouveau excel.application, lancer le code qui se trouve entre for et next dans le nouveau Excel application
    Mon code permet d'ouvrir un nouveau excel.application pour chaque "i" ensuite il suffit de lancer tes macros après mon code!
    Qu'appelles tu par lancer plusieurs macros en Parallèle?

    De plus:
    Donc, ce que tu as écrit ouvre seulement un nouveau ExcelAppli mais il n'y ajoute pas un code, ni lancer le code.
    Je ne comprends pas trop où tu veux en venir... Effectivement j'ai pas ajouter de code puisque je ne connais pas le code que tu souhaites lancer par contre tu as juste à appeller ta fonction ou simplement coller ton code après.
    Il sera donc appelé pour chaque nouveau "i".

    Cdt,

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2012
    Messages : 32
    Par défaut
    Citation Envoyé par jackborogar Voir le message
    Mon code permet d'ouvrir un nouveau excel.application pour chaque "i" ensuite il suffit de lancer tes macros après mon code!
    Qu'appelles tu par lancer plusieurs macros en Parallèle?
    OK. Je te remercie encore une fois.

    Lancer plusieurs macros en parallèle veut dire : lancer, par exemple, macro1 en même temps que macro2, te non pas : lancer Macro1, attendre que macro1 termine, et puis lancer macro2.


    Citation Envoyé par jackborogar Voir le message
    De plus:

    Je ne comprends pas trop où tu veux en venir... Effectivement j'ai pas ajouter de code puisque je ne connais pas le code que tu souhaites lancer par contre tu as juste à appeller ta fonction ou simplement coller ton code après.
    Il sera donc appelé pour chaque nouveau "i".

    Cdt,

    Oui, effectivement, je ne te demande pas de faire mon travaille, LOL, désolé.
    En fait, j'avais déjà essayé le code que tu as mis avec un code simple, le problème c'est que Excel lance ( pour i = 1) la macro1 qui se trouve dans Excel.Application1, et ensuite il attend que Macro1 se termine et puis (pour i = 2) il lance la Macro2 qui se trouve dans le Excel.Application2, et ainsi la suite.

    Moi je veux : pour i = 1 lancer Macro1 Dans Excel1, puis ne pas attendre que Macro1 termine, mais lancer Macro2 toute de suite. (ce que j'appel en parallèle).

    Je ne sais pas si tu as bien compris mon point de vue?!

  6. #6
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    Re,

    Désolé la faim est devenu importante. Alors tu vas être déçu mais il est strictement impossible de lancer deux macros simultanément/en parallèle/ en même temps. Les macros s'exécutent les une après les autres.
    Donc à moins de trouver un système, ou une autre logique dans ton code, je pense pas que je puisse t'aider d'avantage.
    Donc si tu as encore des questions ou des suggestions pour essayer d'avancer avec toi, pas de soucis.
    Par contre tu m'avoueras qu'entre ton premier message (et même le titre du topic) et maintenant c'est le jour et la nuit

    Bien Cordialement,

  7. #7
    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,

    en passant par des tâches planifiées, tu peux tout lancer en meme temps, dans une nouvelle instance d'Excel à chaque fois
    http://jpcheck.developpez.com/tutori...ge-parametres/
    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

  8. #8
    Membre chevronné Avatar de jackborogar
    Homme Profil pro
    Etudiant Ingénierie Financière
    Inscrit en
    Avril 2012
    Messages
    290
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Etudiant Ingénierie Financière
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 290
    Par défaut
    Bonjour jpCheck,

    Si je ne me trompe une tâche planifiée permet bien de lancer des "tâches diverses" à un moment précis et non exécuter deux macros au même moment non? Puisque même si on met macro1 à 12h00 et macro2 à 12h00 également, VBA va lancer déjà lancer macro1 et une fois celui ci fini lancer macro2 qui attendait que macro1 se termine.

    Qu'en penses-tu?

    Cordialement,

Discussions similaires

  1. Réponses: 6
    Dernier message: 02/08/2017, 16h55
  2. [XL-2007] Application d'une macro sur plusieurs feuilles
    Par cattivo dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/01/2015, 10h24
  3. Réponses: 1
    Dernier message: 11/02/2011, 14h14
  4. Macros sur Plusieurs fichiers Excel
    Par Echizen1 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/06/2006, 11h21
  5. Réponses: 2
    Dernier message: 18/11/2005, 21h40

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