OVH Cloud OVH Cloud

Avoir la liste des feuilles d'un autre classeur sans l'ouvrir...

9 réponses
Avatar
DAH
Bonjour,

En VBA, Comment peut on avoir la liste des feuilles d'un autre classeur sans
l'ouvrir ?

Merci d'avance pour votre aide.
--
@+
David

9 réponses

Avatar
j
juste pour rire,
tu peux utiliser cette macronase :

sub macronul()
Cells(1) = "='C:[rien1.xls]zaza'!$A$1"
end sub

...pour su le nom des onglets de c:rien.xls
(à condition que rien.xls n'ait pas d'onglet zaza !)


http://jacxl.free.fr/



"DAH" a écrit dans le message de news:
brs1tc$18g6$
Bonjour,

En VBA, Comment peut on avoir la liste des feuilles d'un autre classeur
sans

l'ouvrir ?

Merci d'avance pour votre aide.
--
@+
David




Avatar
Frédéric Sigonneau
Bonsoir,

A essayer :

http://perso.wanadoo.fr/frederic.sigonneau/code/Ado/NomsFeuillesClasseurFerme.txt
http://perso.wanadoo.fr/frederic.sigonneau/code/Ado/NomsFeuillesClasseurFerme2.txt

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonjour,

En VBA, Comment peut on avoir la liste des feuilles d'un autre classeur sans
l'ouvrir ?

Merci d'avance pour votre aide.
--
@+
David


Avatar
DAH
Je ne trouve pas les réfénreces VBAProject à utiliser...
Avatar
michdenis
Bonjour DAH,

Tu cherches ceci :

by Bill Manville
'-----------------------------------------
Here's a way to do it through ADO (ActiveX Data Objects) in Excel
2000. To use this code, you must first set a reference to "Microsoft
ActiveX Data Objects 2.1 Library" and "Microsoft ADO Ext. 2.1 for DDL and
Security".

Sub ReadSheetNames(TheCompleteFilePath As String)
Dim cnn As New ADODB.Connection
Dim cat As New ADOX.Catalog
Dim tbl As ADOX.Table

cnn.Open "Provider=MSDASQL.1;Data Source=" _
& "Excel Files;Initial Catalog=" & TheCompleteFilePath
cat.ActiveConnection = cnn
For Each tbl In cat.Tables
MsgBox Left$(tbl.Name, Len(tbl.Name) - 1)
Next tbl

Set cat = Nothing
cnn.Close
Set cnn = Nothing
End Sub
'-----------------------------------------


Salutations!




"DAH" a écrit dans le message de news:bruf0k$2n8g$
Je ne trouve pas les réfénreces VBAProject à utiliser...
Avatar
HD
Here's a way to do it through ADO
(ActiveX Data Objects) in Excel
2000. To use this code, you must
first set a reference to "Microsoft
ActiveX Data Objects 2.1 Library"
and "Microsoft ADO Ext. 2.1 for DDL
and Security".


J'ai un 'Microsoft ActiveX Data Objets 1.5 Library' et un 'Microsoft ActiveX
Data Objets Recordset 1.5 Library'... Mais je n'ai pas de 2.1... et avec les
précédentes références j'ai une erreur sur la ligne:
CreateObject("ADOX.Catalog").

Avatar
HD
J'ai un 'Microsoft ActiveX Data Objets 1.5 Library' et un 'Microsoft
ActiveX Data Objets Recordset 1.5 Library'... Mais je n'ai pas de
2.1... et avec les précédentes références j'ai une erreur sur la
ligne: CreateObject("ADOX.Catalog").


Petites précisions je suis sous Windows98 avec Excel97...

Avatar
Clément Marcotte
Va chercher la dernière version de MDAC:

http://www.microsoft.com/data


"HD" a écrit dans le message de
news:bs6uu6$1ln1$
Here's a way to do it through ADO
(ActiveX Data Objects) in Excel
2000. To use this code, you must
first set a reference to "Microsoft
ActiveX Data Objects 2.1 Library"
and "Microsoft ADO Ext. 2.1 for DDL
and Security".


J'ai un 'Microsoft ActiveX Data Objets 1.5 Library' et un 'Microsoft
ActiveX

Data Objets Recordset 1.5 Library'... Mais je n'ai pas de 2.1... et
avec les

précédentes références j'ai une erreur sur la ligne:
CreateObject("ADOX.Catalog").





Avatar
HD
Je l'ai installé et maintenant j'ai le message

"Erreur d'execution '3706': Impossible de trouver le fournisseur. Il est
peut-être mal installé."
Sur la ligne:

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

Voici le début du script:

' Initialisation
Set cn = CreateObject("ADODB.Connection")
Set cat = CreateObject("ADOX.Catalog")
Fichier = "C:tmpcodgintf.seq.xls"

' Open the Connection
cn.Open _
"Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Fichier & ";Extended Properties=Excel 8.0;"
Avatar
HD
C'est bon !!! J'ai téléchargé le : "Microsoft Jet 4.0 Service Pack 8 (SP8)
Win9xNT4" sur:
http://www.microsoft.com/downloads/results.aspx?productID=&freetext=jet&Disp
layLang=fr

Et maintenant ça roule...