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 :

créer une variable pour chaque nom de feuille


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Septembre 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut créer une variable pour chaque nom de feuille
    Bonjour
    J'aimerais que à l'ouverture du classeur, ma macro me créé pour chaque feuille présente un variable qui la représente et que je puisse utiliser dans d'autres procédures pour gérer des transferts d'information complexes.
    J'ai un début de code qui fonctionne bien jusqu'à la MsgBox, mais je n'arrive pas à conserver les variables.
    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Private Sub WorkBook_Open()
     
    Dim NbFeuilles As Integer
    Dim I As Integer
    Dim Feuille() As String
     
            NbFeuilles = ActiveWorkbook.Worksheets.Count
            ReDim Feuille(1 To NbFeuilles)
     
            For I = 1 To NbFeuilles
            Feuille(I) = ActiveWorkbook.Worksheets(I).Name
            MsgBox Feuille(I)
            Next I
     
    End Sub
    Voilà, j'aimerais avoir les variables Feuille1, Feuille2 etc..
    Si quelqu'un pouvait m'aider à résoudre mon problème, ça serait super

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    592
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 592
    Points : 730
    Points
    730
    Par défaut
    Bonjour,

    Il me semble qu'il suffit de déclarer Public tes variables

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Feuille() As String
    (code à mettre au tout début)

    PPz

  3. #3
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Dans un module public, déclares ta variable feuille()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Public Feuille() as string
    et enlève la déclaration de Feuille du workbook.open

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Points : 12 068
    Points
    12 068
    Billets dans le blog
    8
    Par défaut heu!...
    bonjour a tous



    met ca dans un module standard

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Public NbFeuilles As Long
    Public I As Long
    Public Feuille() As Variant
     
       Sub listage_des_feuilles()
            NbFeuilles = ActiveWorkbook.Worksheets.Count
     
            For I = 1 To NbFeuilles
     
            ReDim Preserve Feuille(I)
            Feuille(I) = ActiveWorkbook.Worksheets(I).Name
           'pour la verification
            listedesfeuille = listedesfeuille & Feuille(I) & Chr(13)
     
            Next I
     MsgBox listedesfeuille
    End Sub
    j ai ajouter un message box a la fin qui te liste les feuilles presentes dans le classeur que tu peux supprimer


    et dans le thisworkbook
    tu met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
       Private Sub Workbook_Open()
    listage_des_feuilles
    End Sub
    a partir de la les variables representant les feuilles seront disponibles dans tout le fichier et dans n 'importe quel module a moins que tu les modifies entre temps


    au plaisir

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France, Doubs (Franche Comté)

    Informations forums :
    Inscription : Septembre 2010
    Messages : 2
    Points : 2
    Points
    2
    Par défaut merci
    merci à vous
    je pense que je vais m'en sortir
    je vais passer à l'étape suivante

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

Discussions similaires

  1. Comment créer des variables pour chaque ligne d'une table
    Par Slyvore dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 24/04/2012, 14h24
  2. Créer une liste à partir des noms des feuilles
    Par BOU59000 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 19/08/2008, 18h38
  3. Réponses: 1
    Dernier message: 30/05/2008, 11h51
  4. utile de créer une table pour chaque utilisateur ?
    Par Overstone dans le forum Langage SQL
    Réponses: 6
    Dernier message: 22/03/2008, 14h37
  5. Réponses: 9
    Dernier message: 25/02/2008, 11h40

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