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 :

Utilisation de feuilles variables en VBA sans passer par indirect


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    controleur de gestion
    Inscrit en
    Novembre 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : controleur de gestion
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Novembre 2011
    Messages : 9
    Par défaut Utilisation de feuilles variables en VBA sans passer par indirect
    Bonjour,

    Je souhaites crée une macro qui pourrait me permettre de sélectionner une par une les feuilles de mon classeur.

    Ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub parcours()
     
    dim x
    dim nom_feuille
     
    for x=1 to 3
    nom_feuille= ??
    sheets(nom_feuille).select
    next
     
    end sub
    Je connais le codage pour supprimer ce problème en faisant appel à une cellule dans une feuille et la fonction INDIRECT, mais je voudrais pouvoir le faire uniquement en codage VBA

    Merci d'avance à ceux ou celles qui pourront m'éclairer sur ce sujet, car je cherche depuis longtemps la solution à ce problème, mais sans succès

  2. #2
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonsoir,

    Essaie avec ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub parcours()
    Dim x As Byte
        For x = 1 To Worksheets.Count
            Worksheets(x).Select
            MsgBox "Nom de la feuille n° " & x & " : " & Worksheets(x).Name
        Next
    End Sub
    Cordialement.

  3. #3
    Membre régulier
    Homme Profil pro
    controleur de gestion
    Inscrit en
    Novembre 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : controleur de gestion
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Novembre 2011
    Messages : 9
    Par défaut
    Merci, cela me convient déjà bien comme réponse, en ce basant sur le numéro de la feuille, c'est déjà un progrès. Mais il peut m'arriver de ne vouloir que parcours les feuilles qui ne commencent que par le nom : "Feuil" & x
    à ce moment là la macro ne fonctionne que si j'ai correctement créé mes feuilles dans le bon ordre

  4. #4
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Re,

    Le code que je t’ai proposé permet surtout de sélectionner toutes les feuilles du classeur et ce, quel que soit leur nom. Tu évites ainsi le risque d’erreur sur le nom de la feuille.
    Si tu souhaites sélectionner des feuilles en particulier tu peux effectuer un test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub parcours()
    Dim x As Byte
        For x = 1 To Worksheets.Count
            If Left(Worksheets(x).Name, 5) = "Feuil" Then
                Worksheets(x).Select
                MsgBox "Nom de la feuille n° " & x & " : " & Worksheets(x).Name
            End If
        Next
    End Sub
    Si tu souhaites sélectionner des feuilles « Feuil(x) » suivant leur ordre, tu peux coder
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub parcours()
    Dim x As Byte
    Dim nom_feuille As String
        For x = 1 To 3
            nom_feuille = "Feuil" & x
            Worksheets(nom_feuille).Select
            MsgBox "Feuille sélectionnée : " & Worksheets(nom_feuille).Name
        Next
    End Sub
    Mais attention car si la feuille n’existe pas, le code va générer une erreur.

    Cordialement.

  5. #5
    Membre régulier
    Homme Profil pro
    controleur de gestion
    Inscrit en
    Novembre 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : controleur de gestion
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Novembre 2011
    Messages : 9
    Par défaut
    Merci beaucoup gFZT82,

    Avec ça je vais enfin pouvoir finaliser certaines des mes macros et avoir des classeurs plus propres, sans formules qui alourdissent les fichiers

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

Discussions similaires

  1. [AC-2007] Envoyer un mail Outlook par vba sans passer par le ClickYes
    Par lakhdar16 dans le forum VBA Access
    Réponses: 1
    Dernier message: 08/05/2012, 17h17
  2. [XL-2007] Ouvrir VBA sans passer par les menus
    Par Jcorbeaux dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 16/01/2012, 22h26
  3. resoudre equation en VBA sans passer par excel
    Par clemouille dans le forum Macros et VBA Excel
    Réponses: 25
    Dernier message: 13/05/2009, 13h15
  4. [BDE][Access] utilisation de BDDs sans passer par ODBC
    Par Guigui_ dans le forum Bases de données
    Réponses: 4
    Dernier message: 23/01/2005, 14h11
  5. [PHP-JS] Envoi de variable sans passer par un submit
    Par adilou1981 dans le forum Langage
    Réponses: 4
    Dernier message: 15/11/2004, 19h21

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