Activer un classeur Excel sur VBA

Tachfine -  
thev Messages postés 2008 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'utilise le planificateur des tâches windows pour lancer des fichiers excel automatiquement à une heure précise, je vous explique mon problème, je lance un fichier Excel qui m'importe une extraction de données, par la suite et dans 5 minutes tout en laissant le fichier Extraction ouvert, je lance un fichier qui s’alimente à partir de cet extraction, tout marche bien pour l'importation de l'extraction, sauf que quand je lance le deuxième fichier, j'ai l'erreur suivante: l'indice n'appartient pas à la sélection, sur VBA j'ai une erreur sur le code suivant: Windows("Extract").Activate.
Par contre, quand je fais le traitement manuellement sans planificateur, cela marche sans problème, pouvez-vous s'il vous plaît m'aider pour résoudre ce problème ou me proposer une solution alternative?

3 réponses

  1. thev Messages postés 2008 Date d'inscription   Statut Membre Dernière intervention   722
     
    Si le classeur "Extract" est bien ouvert, ce code devrait fonctionner

    For Each classeur In Workbooks
    If classeur.Name = "Extract" Then
    classeur.Activate
    Exit For
    End If
    Next


    0
    1. Tachfine
       
      Merci pour ta réponse, en fait le planificateur en ouvrant les deux fichiers ouvre deux instance Excel, ce qui fait, quand tu vas activer un classeur à travers un autre, il voudra pas parce qu'il ne fait pas partie de la même instance Excel, as-tu d'autres solutions s'il te plaît?

      Cordialement,
      0
      1. thev Messages postés 2008 Date d'inscription   Statut Membre Dernière intervention   722 > Tachfine
         
        Pour moi, le plus simple est de créer dans ton classeur 1 d'importation de données, une liaison avec ton classeur 2 d'exploitation de l'extraction, ce qui te permettra d'ouvrir ton classeur 2 à partir du classeur 1 et donc rester dans la même application Excel.
        La planification de ta 2ème tâche n'est plus alors nécessaire.
        0