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 :

Macro qui s'éxécute dans tous les classeurs ouverts [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2013
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Macro qui s'éxécute dans tous les classeurs ouverts
    Bonjour,

    Je souhaite éxécuter une macro qui renomme une feuille dans tous les classeurs ouverts. Le nom de la feuille est toujours le même.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub nomdefeuilles()
    Dim Wb As Workbook
    For Each Wb In Workbooks
    Sheets("A").Select
    ActiveSheet.Name = "B"
    Next Wb
    End Sub
    Le problème c'est que la macro ne change pas de Workbook, elle reste sur le même, et ne trouvant plus de feuille "A", elle affiche une erreur.

    Merci pour votre aide,

    Tharka

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Avril 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 875
    Points : 1 394
    Points
    1 394
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Sub nomdefeuilles()
    Dim Wb As Workbook
    For Each Wb In Workbooks
    wb.Sheets("A").Select
    ActiveSheet.Name = "B"
    Next Wb
    End Sub
    sheet("A").select est en fait équivalent à activeworkbook.sheets("a").select
    et le changement de classeur dans la boucle n'active pas de classeur, donc activeworkbook ne change jamais.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2013
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci,

    Mais il me met un message d'erreur "1004"; Select method of worksheet class failed
    Apparemment il n'arrive pas à sélectionner la feuille "A"

  4. #4
    Membre éprouvé Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Points : 973
    Points
    973
    Par défaut
    Bonjour
    Ce p'tit bout de code permet de boucler sur tout les classeurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Macro1()
    Dim Cls As Integer
    ' pour passer au classeur suivant si A pas trouver
    On Error Resume Next
    For Cls = 1 To Windows.Application.Workbooks.Count
    Application.Workbooks(Cls).Sheets("A").Name = "B"
    Next Cls
     
    End Sub
    For each Wb in application aurait été plus proche de la réalité puisque un workbook contient des feuilles et une application(excel) contient des workbooks

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2013
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Super merci beaucoup,

    Problème résolu!

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

Discussions similaires

  1. [XL-2010] Copie code Feuilles dans Feuilles de tous les classeurs ouverts
    Par modus57 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 22/03/2011, 10h51
  2. Macro déclenchée par un événement dans tous les classeurs
    Par XtineG dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 11/01/2011, 17h03
  3. Macro qui s'exécute sur tous les onglets
    Par idckhorne dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 27/05/2009, 11h56
  4. [XL-2003] macro dans tous les classeur comment les enlever
    Par Patnel dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/04/2009, 08h01
  5. recuperation de feuilles dans tous les classeurs ouverts
    Par dodo28 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 29/03/2009, 14h43

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