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

Access Discussion :

Obtenir la liste des feuilles d'un fichier Excel


Sujet :

Access

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2004
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 19
    Points : 14
    Points
    14
    Par défaut Obtenir la liste des feuilles d'un fichier Excel
    Coucou,

    pour simplifier l'importation de feuilles excel je souhaiterais pouvoir disposer de la liste des noms des feuilles d'un fichier excel donné.

    Comment faire cela en vba svp ?

    a+
    8)

  2. #2
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    Public Sub JeCopieOuJeVeux()
    Dim I As Integer
    Dim ObjExcel As Excel.Application
    Dim MaFeuille As Excel.Worksheet
    Dim MonClasseur As Excel.Workbook
     
    sChemin = "H:\DATA\Développement\Prev_ventes\Octobre\"
    'Définition des critères de recherche des fichiers : - Location
    '                                                    - Recherche dans les sous-dossiers
    '                                                    - Type de fichier
    With Application.FileSearch
        .NewSearch
        .LookIn =sChemin = "H:\DATA\Développement\Prev_ventes\Octobre\"
        .SearchSubFolders = True
        .FileType = msoFileTypeExcelWorkbooks
        'si on trouve des fichiers correspondant au critère
        If .Execute() > 0 Then
            MsgBox "Il y a " & .FoundFiles.Count & _
                " fichier(s) correspondant aux critères voulus.", vbInformation
            'Récupération du nom du fichier
            For I = 1 To .FoundFiles.Count
                sNomFic = .FoundFiles.Item(I)
                'MsgBox "Le fichier qui va être ouvert est " & sNomFic & " !", vbInformation
                'Instanciation de l'objet Excel
                Set ObjExcel = New Excel.Application
                'Ouverture du fichier
                ObjExcel.Workbooks.Open sNomFic, False, False, , "", "", True
                'pas de messages d'alerte
                ObjExcel.DisplayAlerts = False
                'pas de messages demandant de faire la mise à jour des liens
                ObjExcel.ActiveWorkbook.UpdateLinks = xlUpdateLinksNever
                ObjExcel.Visible = True
                ObjExcel.DisplayAlerts = True
                Set MaFeuille = ObjExcel.ActiveWorkbook.Worksheets(1)
                For Each MaFeuille In ObjExcel.ActiveWorkbook.Worksheets
                     'nom de la feuille
                     sNomFeuille = MaFeuille.Name
                     Debug.Print sNomFeuille
                     MaFeuille.Activate
                Next MaFeuille
        end if
    end with
     
    end sub
    Ceci est une partie d'une procédure me permettant de copier des données se trouvant dans plusieurs feuilles se trouvant elles même dans plusieurs classeurs.

  3. #3
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Comme ceci:
    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
    Private Function GetSheetNames() As String()
    Dim I As Long
    Dim aSheetNames() As String
      For I = 1 To ActiveWorkbook.Sheets.Count
        ReDim Preserve aSheetNames(1 To I)
        aSheetNames(I) = Sheets(I).Name
      Next
    GetSheetNames = aSheetNames
    End Function
     
    Sub ListSheetNames()
    Dim I As Long
    Dim aSheetNames() As String
      aSheetNames = GetSheetNames
      For I = LBound(aSheetNames) To UBound(aSheetNames)
        Debug.Print aSheetNames(I)
      Next
    End Sub
    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  4. #4
    Membre à l'essai
    Inscrit en
    Septembre 2004
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    Merci les gars !

    Mais avec mes gros doigts boudinés et mon cerveau hors du commun j'ai trouvé ça, c'est plus simple et ça marche nickel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Set appExcel = CreateObject("Excel.Application")
    appExcel.Workbooks.Open FileName:="c:\Classeur2a.xls"
    Dim feuille As Object
    For Each feuille In appExcel.sheets
    MsgBox feuille.Name
    Next feuille
    ++

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

Discussions similaires

  1. création d'un fichier en copiant des feuilles d'un fichier excel
    Par valérieF dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 16/05/2015, 23h30
  2. [XL-2003] importer des feuilles d'autres fichiers excel
    Par mikadoo57 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 06/11/2012, 13h54
  3. Réponses: 17
    Dernier message: 09/06/2011, 00h50
  4. avoir la liste des feuilles d'un classeur Excel
    Par alili mostafa dans le forum Débuter
    Réponses: 2
    Dernier message: 08/02/2010, 15h48
  5. [Lazarus] Comment obtenir la liste des ressources dans un fichier lrs
    Par SergioMaster dans le forum Lazarus
    Réponses: 3
    Dernier message: 09/10/2009, 11h21

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