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 :

VBA-Recherche d'une feuille dans plusieurs classeurs


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 22
    Par défaut VBA-Recherche d'une feuille dans plusieurs classeurs
    Bonjour,

    Dans un premier temps ma macro va déplacer une feuille dans un nouveau classeur (donc le nom changera à chaque fois): jusque là ca va

    Je voudrais ensuite revenir sur la feuille principale dont le nom ne changera pas pour faire des modifs (protéger le classeur en fait)

    Pb: il faut que je retourne sur la feuille déplacée pour la fin de ma macro et le problème c'est que le nom du classeur sera différent à chaque fois

    Est-il possible de rechercher une feuille dans plusieurs classeurs à partir de son nom qui lui sera identique ???

    Voila le début de ma macro:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        Sheets("projet avec ROI 5 ans (2)").Select
        Sheets("projet avec ROI 5 ans (2)").Move
    La feuille se nommera tjs projet avec roi 5 ans, je change le nom plus tard.
    Je sais que c un peu bizarre mais je suis obligé de faire la macro dans cet ordre à cause de la protection du classeur.

    Merci

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Je réponds à cette question :
    Est-il possible de rechercher une feuille dans plusieurs classeurs à partir de son nom qui lui sera identique ???
    Oui ! Tu peux.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For Each LeClasseur In Workbooks
         For Each LaFeuille In LeClasseur.Worksheets
               MsgBox "Classeur " & LeClasseur.Name & vbCr & "Feuille " & LaFeuille.Name
         Next LaFeuille
    Next LeClasseur
    Tu fais un test sur le nom (LaFeuille.name) et tu as ta feuille

  3. #3
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 22
    Par défaut
    Je suis désolé je suis pas très très fort avec des macros compliqués

    J'ai essayé de faire ce que tu m'as dit mais j'ai pas compris à quel endroit je dois lui dire de checher la feuille projet avec roi 5 ans (2)

    En gros j'ai pas compris ce que ca voulais dire de faire le test sur LaFeuille.Name.....

    Merci

  4. #4
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 22
    Par défaut
    De plus sommes nous obligés de passer par une MsgBox car moi je voudrais que cela se fasse automatiquement sans boite de dialogue

    merci

  5. #5
    Membre expérimenté Avatar de conconbrr
    Inscrit en
    Février 2006
    Messages
    198
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 198
    Par défaut
    Je pense que ouskel'n'or t'as donné une méthode pour avoir le nom du classeur et de chaque page du classeur tu dois donc juste modifier le code et remplacer le msgbox par une condition.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For Each LeClasseur In Workbooks
         For Each LaFeuille In LeClasseur.Worksheets
               if lafeuille.name="projet avec roi 5 ans" and leclasseur.name<> "Nom de ton premier classeur" then
                    TON CODE
               endif
         Next LaFeuille
    Next LeClasseur

  6. #6
    Membre averti
    Inscrit en
    Juillet 2006
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 22
    Par défaut
    Salut,
    j'ai donc essayé de faire ce que tu m'as dit c'est à dire que je lui demande si il y a une feuille projet avec roi 5 ans de la sélectionner

    Je suppose que c'est ceal que tu veux dire par ton code

    Mais ca marche pas ca met débogage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    For Each LeClasseur In Workbooks
         For Each LaFeuille In LeClasseur.Worksheets
               If LaFeuille.Name = "projet avec roi 5 ans (2)" Then
                    Sheets("projet avec roi 5 ans (2)").Select
               End If
         Next LaFeuille
    Next LeClasseur
    End Sub

    Merci

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

Discussions similaires

  1. [VBA][Excel]Copier une feuille dans un nouveau classeur
    Par illight dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 02/10/2020, 12h51
  2. rechercher une somme de données d'une feuille dans un classeur
    Par micky2013 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/04/2013, 00h58
  3. [Toutes versions] VBA - Rechercher une feuille dans un classeur
    Par ADbtr dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/06/2010, 08h45
  4. [VBA] Transférer une feuille dans un classeur fermé
    Par Dephi dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 26/07/2007, 12h11
  5. [VBA-E]Existence d'une feuille dans un classeur EXCEL
    Par marie10 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 06/04/2006, 15h58

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