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 une macro sur tous les onglets d'un fichier sauf un


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 15
    Points : 9
    Points
    9
    Par défaut Exécuter une macro sur tous les onglets d'un fichier sauf un
    Bonjour,

    Je dispose d'un fichier dans lequel j'ai une trentaine d'onglets. Ces onglets ont tous exactement le même format.
    Sur chacun d'entre eux, je voudrais récupérer l'équation de la courbe de tendance et ses coefficients dans un tableau déterminé.

    J'ai déjà pu créer la macro qui me permet de faire ça, mais elle ne le fait que pour un seul classeur à la fois, celui qui est ouvert (on l'appellera "Graphique1_Coefficients").

    J'ai également un onglet, le seul différent, qui est mon onglet Télécommande, sur lequel je voudrais mettre tous les boutons d'exécution des macros de mon fichier (dont "Graphique1_Coefficients")

    Comment faire en sorte que ma macro "Graphique1_Coefficients" s'exécute sur tous les onglets de mon fichier, sauf celui de Télécommande?

    J'ai essayé déjà de faire sur tous les onglets avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    For Each Worksheet in Worksheets

    Mais apparemment, ce n'est pas conforme avec la suite des mes instructions qui est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.ChartObjects("Graphique 1").Activate

    (Bien sûr, le est à enlever, mais en ne laissant que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ChartObjects("Graphique 1")
    , ça ne fonctionne pas quand même)

    Merci d'avance de votre aide.

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 903
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 903
    Points : 28 871
    Points
    28 871
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Dans ta boucle For Each tu dois utiliser une variable objet (par exemple sht). Comme la variable objet hérite des propriétés et méthodes de l'objet (ici WorkSheet) tu peux vérifier le nom de la feuille par sht.name
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Sub ReadSheet()
     Dim sht As Worksheet
     For Each sht In Worksheets
      Debug.Print sht.Name
      If sht.Name <> "Telecommande" Then
       ' Code
      End If
     Next
    End Sub
    A ce moment là, tu n'utilises plus l'objet ActiveSheet mais sht
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2011
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 15
    Points : 9
    Points
    9
    Par défaut
    Super ! Ça fonctionne parfaitement, merci beaucoup !

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

Discussions similaires

  1. [LibreOffice] Executer une macro sur TOUS les documents ouvert
    Par Gomoz dans le forum OpenOffice & LibreOffice
    Réponses: 4
    Dernier message: 23/01/2015, 21h00
  2. [XL-2003] Une macro sur tous les onglets
    Par Maksym dans le forum Macros et VBA Excel
    Réponses: 27
    Dernier message: 23/01/2013, 13h28
  3. Macro sur tous les onglets
    Par yann3131 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/01/2010, 17h35
  4. [XL-2003] Exécuter une macro sur tous les fichiers d'un dossier.
    Par ahmet dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/10/2009, 09h49
  5. exécuter une commande sur tous les fichiers des sous dossiers
    Par Concombre Masqué dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 05/03/2009, 01h15

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