Lister les noms dans feuilles d'un document excell.

Lister les noms dans feuilles d'un document excell. - VB/VBA/VBS - Programmation

Marsh Posté le 15-10-2009 à 10:41:38    

Bonjour,
j'ai cherché partout et je n'arrive pas à trouver le moyen de lister toutes les feuilles d'un documents excell.
J'ai par exemple les feuilles : Sheet1 puis sheet2 et Finalement Sheet 3
Et j'aimerai les lister automatiquement dans un feuille :
A1= Sheet1
A2= Sheet2
A3= Sheet3
etc...
C'est juste pour avoir la liste des feuilles d'un classeur excell qui en comporte tellement.
Merci pour toute aide apporté ;)

Reply

Marsh Posté le 15-10-2009 à 10:41:38   

Reply

Marsh Posté le 15-10-2009 à 10:57:46    

For x = 1 To Excel.Workbooks(1).Worksheets.Count
  MsgBox (Excel.Worksheets(x).Name)
Next

Reply

Marsh Posté le 17-10-2009 à 14:49:12    

Salut,


Option Explicit
 
Dim Ar() As String
 
Sub Tst()
Dim Ws As Worksheet, i As Integer
Dim Ch As Chart
    With ShTst
        .Activate
        .Cells.Clear
    End With
    i = 0
    For Each Ws In ThisWorkbook.Worksheets
        i = i + 1
        With ShTst
            .Range("A" & i) = Ws.Name
            .Range("B" & i) = Ws.CodeName
        End With
    Next Ws
 
    For Each Ch In ThisWorkbook.Charts
        i = i + 1
        With ShTst
            .Range("A" & i) = Ch.Name
            .Range("B" & i) = Ch.CodeName
        End With
    Next Ch
End Sub
 
Sub Tst2()
    With ShTst
        .Activate
        .Cells.Clear
    End With
    ShTst.Range("A1:A" & UBound(Ar) + 1) = NomFeuilles
End Sub
 
Private Function NomFeuilles()
Dim i As Integer
    ReDim Ar(ThisWorkbook.Sheets.Count - 1)
    For i = 0 To ThisWorkbook.Sheets.Count - 1
        Ar(i) = Sheets(i + 1).Name
    Next i
    NomFeuilles = Application.WorksheetFunction.Transpose(Ar)
End Function


Message édité par kiki29 le 17-10-2009 à 15:45:19
Reply

Marsh Posté le 19-11-2009 à 09:58:41    

Bonjour
Voici une courte macro pour répondre à ta demande, si jamais tu n'avais pas encore trouvé, et pour éventuellement servir à d'autres. Tu sélectionnes de Sub à End Sub avec la souris, tu fais Ctrl+C, puis Ctrl+V dans un module, et tu lances.
 
Sub NOMS_DES_FEUILLES()
' Dim i As Integer, MonClasseur As Workbook, MaFeuille As Worksheet   'LIGNE FACULTATIVE
 
Sheets.Add before:=Sheets(1)    ' ajoute une feuille en 1° position
 '  Set MaFeuille = ActiveSheet                                                       'LIGNE FACULTATIVE
 
Set MonClasseur = ActiveWorkbook
   For i = 1 To MonClasseur.Worksheets.Count
            Range("A" & i) = Sheets(i).Name
            Range("B" & i) = i          'indique en col B la position de la feuille    'LIGNE FACULTATIVE
      Next
End Sub
 
Et voilà!
 


---------------
Olympus OM-D  EM-5 + 14-42
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed