Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Imprimer Liste des onglet d'un classeur

6 réponses
Avatar
michir
Bonjour,
Je souhaiterais imprimer la liste des onglets d'un classeur, sans
passer par les macro compl=E9mentaires que l'on trouve sur le net
Je suis avec Excel 2010
Merci =E0 tous

6 réponses

Avatar
michdenis
Bonjour,

'--------------------------------------------
Sub test()
Dim sh As Worksheet, T(), Nb As Integer

With ThisWorkbook
Nb = .Sheets.Count
ReDim T(1 To Nb)
For a = 1 To Nb
T(a) = .Sheets(a).Name
Next
End With

Application.ScreenUpdating = False
Set sh = Worksheets.Add
With sh.Range("A1")
.Resize(UBound(T)) = Application.Transpose(T)
.PrintOut
End With
Application.DisplayAlerts = False
sh.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub
'--------------------------------------------



MichD
--------------------------------------------
"michir" a écrit dans le message de groupe de discussion :


Bonjour,
Je souhaiterais imprimer la liste des onglets d'un classeur, sans
passer par les macro complémentaires que l'on trouve sur le net
Je suis avec Excel 2010
Merci à tous
Avatar
michir
On 12 fév, 16:30, "michdenis" wrote:
Bonjour,

'--------------------------------------------
Sub test()
Dim sh As Worksheet, T(), Nb As Integer

With ThisWorkbook
    Nb = .Sheets.Count
    ReDim T(1 To Nb)
    For a = 1 To Nb
        T(a) = .Sheets(a).Name
    Next
End With

Application.ScreenUpdating = False
Set sh = Worksheets.Add
With sh.Range("A1")
    .Resize(UBound(T)) = Application.Transpose(T)
    .PrintOut
End With
Application.DisplayAlerts = False
sh.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub
'--------------------------------------------

MichD
--------------------------------------------
"michir"  a crit dans le message de groupe de discussion :


Bonjour,
Je souhaiterais imprimer la liste des onglets d'un classeur, sans
passer par les macro compl mentaires que l'on trouve sur le net
Je suis avec Excel 2010
Merci tous



Bonjour MihD,
Cette macro n'imprime que le nom du premier onglet le plus à gauche.
Je cherche à obtenir la liste de tous les onglets du classeur qui en
comporte une trentaine...Il manque sans doute peu de chose
Merci à toi
Michel
Avatar
michdenis
Tu as bien raison, il manque un petit bout !
;-)

'--------------------------------------------
Sub test()
Dim sh As Worksheet, T(), Nb As Integer

With ThisWorkbook
Nb = .Sheets.Count
ReDim T(1 To Nb)
For a = 1 To Nb
T(a) = .Sheets(a).Name
Next
End With

Application.ScreenUpdating = False
Set sh = Worksheets.Add
With sh.Range("A1")
.Resize(UBound(T)) = Application.Transpose(T)
.Resize(UBound(T)) .PrintOut
End With
Application.DisplayAlerts = False
sh.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub
'--------------------------------------------



MichD
--------------------------------------------
"michir" a écrit dans le message de groupe de discussion :


On 12 fév, 16:30, "michdenis" wrote:
Bonjour,

'--------------------------------------------
Sub test()
Dim sh As Worksheet, T(), Nb As Integer

With ThisWorkbook
Nb = .Sheets.Count
ReDim T(1 To Nb)
For a = 1 To Nb
T(a) = .Sheets(a).Name
Next
End With

Application.ScreenUpdating = False
Set sh = Worksheets.Add
With sh.Range("A1")
.Resize(UBound(T)) = Application.Transpose(T)
.PrintOut
End With
Application.DisplayAlerts = False
sh.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub
'--------------------------------------------

MichD
--------------------------------------------
"michir" a crit dans le message de groupe de discussion :


Bonjour,
Je souhaiterais imprimer la liste des onglets d'un classeur, sans
passer par les macro compl mentaires que l'on trouve sur le net
Je suis avec Excel 2010
Merci tous



Bonjour MihD,
Cette macro n'imprime que le nom du premier onglet le plus à gauche.
Je cherche à obtenir la liste de tous les onglets du classeur qui en
comporte une trentaine...Il manque sans doute peu de chose
Merci à toi
Michel
Avatar
michir
On 12 fév, 16:52, "michdenis" wrote:
Tu as bien raison, il manque un petit bout !
;-)

'--------------------------------------------
Sub test()
Dim sh As Worksheet, T(), Nb As Integer

With ThisWorkbook
    Nb = .Sheets.Count
    ReDim T(1 To Nb)
    For a = 1 To Nb
        T(a) = .Sheets(a).Name
    Next
End With

Application.ScreenUpdating = False
Set sh = Worksheets.Add
With sh.Range("A1")
    .Resize(UBound(T)) = Application.Transpose(T)
    .Resize(UBound(T)) .PrintOut
End With
Application.DisplayAlerts = False
sh.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub
'--------------------------------------------

MichD
--------------------------------------------
"michir"  a écrit dans le message de groupe de discussion :


On 12 fév, 16:30, "michdenis" wrote:









> Bonjour,

> '--------------------------------------------
> Sub test()
> Dim sh As Worksheet, T(), Nb As Integer

> With ThisWorkbook
>     Nb = .Sheets.Count
>     ReDim T(1 To Nb)
>     For a = 1 To Nb
>         T(a) = .Sheets(a).Name
>     Next
> End With

> Application.ScreenUpdating = False
> Set sh = Worksheets.Add
> With sh.Range("A1")
>     .Resize(UBound(T)) = Application.Transpose(T)
>     .PrintOut
> End With
> Application.DisplayAlerts = False
> sh.Delete
> Application.DisplayAlerts = True
> Application.ScreenUpdating = True

> End Sub
> '--------------------------------------------

> MichD
> --------------------------------------------
> "michir"  a crit dans le message de groupe de discussion :
>

> Bonjour,
> Je souhaiterais imprimer la liste des onglets d'un classeur, sans
> passer par les macro compl mentaires que l'on trouve sur le net
> Je suis avec Excel 2010
> Merci tous

Bonjour MihD,
Cette macro n'imprime que le nom du premier onglet le plus à gauche.
Je cherche à obtenir la liste de tous les onglets du classeur qui en
comporte une trentaine...Il manque sans doute peu de chose
Merci à toi
Michel



Re,
c'est nickel chrome, sauf que les noms des mes onglets étant un peu
longs, ils sont rognés à l'impression
Peut être peut on ajouter une commande d'ajustement à la longueur des
noms des onglets ?
Michel
Avatar
michdenis
Sub test()
Dim sh As Worksheet, T(), Nb As Integer

With ThisWorkbook
Nb = .Sheets.Count
ReDim T(1 To Nb)
For a = 1 To Nb
T(a) = .Sheets(a).Name
Next
End With

Application.ScreenUpdating = False
Set sh = Worksheets.Add
With sh.Range("A1")
.EntireColumn.AutoFit
.Resize(UBound(T)) = Application.Transpose(T)
.Resize(UBound(T)).PrintOut
End With
Application.DisplayAlerts = False
sh.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub
Avatar
michir
On 12 fév, 19:48, "michdenis" wrote:
Sub test()
Dim sh As Worksheet, T(), Nb As Integer

With ThisWorkbook
    Nb = .Sheets.Count
    ReDim T(1 To Nb)
    For a = 1 To Nb
        T(a) = .Sheets(a).Name
    Next
End With

Application.ScreenUpdating = False
Set sh = Worksheets.Add
With sh.Range("A1")
    .EntireColumn.AutoFit
    .Resize(UBound(T)) = Application.Transpose(T)
    .Resize(UBound(T)).PrintOut
End With
Application.DisplayAlerts = False
sh.Delete
Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub



Re,
Ok, Merci à toi MichD
Michel