OVH Cloud OVH Cloud

Onglets Excel

8 réponses
Avatar
pportal
Bonjour,

je recherche le moyen de récupérer automatiquement dans une feuille le
liste des onglets d'un classeur.

D'avance merci de votre aide.

8 réponses

Avatar
Ellimac
Bonjour,

Dans un module standard :

Sub toto()
For cpt = 1 To Sheets.Count
Cells(cpt, 1) = Sheets(cpt).Name
Next
End Sub

Camille

-----Message d'origine-----
Bonjour,

je recherche le moyen de récupérer automatiquement dans
une feuille le

liste des onglets d'un classeur.

D'avance merci de votre aide.
.



Avatar
Michel Gaboly
Bonjour,

avec une boucle :

Sub ListeOnglets
Dim s, i as Integer
With ThisWorkbook.Sheets(1).Range("A1")
For Each s in ActiveWorkbook.Sheets
.Offset(i) = s.Name
i = i + 1
Next s
End With
End Sub

La ligne

With ThisWorkbook.Sheets(1).Range("A1")

est à adapter en fonctionde la feuille et de la cellule à
utiliser pour le premier nom de la liste.

NB - Non testé



Bonjour,

je recherche le moyen de récupérer automatiquement dans une feuille le
liste des onglets d'un classeur.

D'avance merci de votre aide.


--
Cordialement,

Michel Gaboly
http://www.gaboly.com

Avatar
papou
Bonjour Pick
Avec une macro comme celle-ci par exemple
Attention, ici les noms des feuilles sont copiés dans une feuille du
classeur qui se nomme RECAP, donc à adapter
Sub ListeFeuilles()
For i = 1 To ThisWorkbook.Sheets.Count
Sheets("RECAP").Cells(i, 1).Value = Sheets(i).Name
Next i
End Sub

Cordialement
Pascal

"Pick" a écrit dans le message de
news:
Bonjour,

je recherche le moyen de récupérer automatiquement dans une feuille le
liste des onglets d'un classeur.

D'avance merci de votre aide.


Avatar
FxM
Pick wrote:

Bonjour,

je recherche le moyen de récupérer automatiquement dans une feuille le
liste des onglets d'un classeur.

D'avance merci de votre aide.



Bonsoir,

Si je peux squatter la ficelle, je recherche la même chose sans avoir
ouvert le fichier. On peut avoir les feuilles visibles dans les
propriétés du fichier (clic droit) mais pour utiliser en macro ?

@+
FxM

Avatar
popi
Salut François Xavier,
Si je peux squatter la ficelle, je recherche la même chose sans avoir
ouvert le fichier. On peut avoir les feuilles visibles dans les
propriétés du fichier (clic droit) mais pour utiliser en macro ?


un petit bricolage ?

Sub lit_feuilles_discretly()
Dim Sheets
Set xl = CreateObject("excel.Application")
xl.Visible = False
classeur = "D:diversCompressebiblio_CDs.xls"
xl.EnableEvents = False
xl.Workbooks.Open classeur
xl.EnableEvents = True
For Each Sheets In xl.ActiveWorkbook.Worksheets
Msg = Msg + Sheets.Name & vbCr
Next
xl.EnableEvents = False
xl.ActiveWorkbook.Close False
xl.EnableEvents = True
Set xl = Nothing
MsgBox Msg
End Sub

@+ popi

Avatar
Jean-François Aubert
Salut François-Xavier,

du site de Frédéric SIGONNEAU

'Attribute VB_Name = "NomsFeuillesClasseurFerme2"



Sub ListExcelTables()
'd'après Ramesh, microsoft.public.data.ado
Dim cn
Dim cat
Dim xlSheet As Variant
Dim Fichier$

' Initialisation
Set cn = CreateObject("ADODB.Connection")
Set cat = CreateObject("ADOX.Catalog")
Fichier = "D:6OfficeVBA1ProgsClasseurDatesCompilDatesv3.xls"

' Open the Connection
cn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Fichier & ";Extended Properties=Excel 8.0;"

' Open the catalog
Set cat.ActiveConnection = cn

For Each xlSheet In cat.Tables
MsgBox xlSheet.Name
Next

' Nettoyage
Set cn = Nothing: Set cat = Nothing
End Sub




--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"FxM" a écrit dans le message de
news:
Pick wrote:

Bonjour,

je recherche le moyen de récupérer automatiquement dans une feuille le
liste des onglets d'un classeur.

D'avance merci de votre aide.



Bonsoir,

Si je peux squatter la ficelle, je recherche la même chose sans avoir
ouvert le fichier. On peut avoir les feuilles visibles dans les
propriétés du fichier (clic droit) mais pour utiliser en macro ?

@+
FxM




Avatar
FxM
Bonsoir Jean-François,

Merci d'avoir transmis ce code qui semble marcher pile-poil.
Je sens que je vais passer mes vacances sur le site de Frédéric ;o)

@+
FxM




Jean-François Aubert wrote:
Salut François-Xavier,

du site de Frédéric SIGONNEAU

'Attribute VB_Name = "NomsFeuillesClasseurFerme2"



Sub ListExcelTables()
'd'après Ramesh, microsoft.public.data.ado
Dim cn
Dim cat
Dim xlSheet As Variant
Dim Fichier$

' Initialisation
Set cn = CreateObject("ADODB.Connection")
Set cat = CreateObject("ADOX.Catalog")
Fichier = "D:6OfficeVBA1ProgsClasseurDatesCompilDatesv3.xls"

' Open the Connection
cn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Fichier & ";Extended Properties=Excel 8.0;"

' Open the catalog
Set cat.ActiveConnection = cn

For Each xlSheet In cat.Tables
MsgBox xlSheet.Name
Next

' Nettoyage
Set cn = Nothing: Set cat = Nothing
End Sub






Avatar
Jean-François Aubert
Je sens que je vais passer mes vacances sur le site de Frédéric ;o)


Oui, c'est une vrai mine d'or. J'espère que tes vacances seront assez longues....
--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}