Copier onglet sans ouvrir classeur

Totor

XLDnaute Nouveau
Bonjour Forum,

j'ai crée une macro qui m'ouvre une trentaine de fichier, qui copie un onglet spécifique et qui vient me les coller dans un classeur.

L'ouverture du fichier ralentit considérablment la macro.

Je voudrais qu Excel copie l'onglet mais sans avoir à ouvrir le fichier? Savez vous si c est possible??

Merci du coup de main et Bon we.

Totor



Workbooks.Open Filename:='G:\\FINANCE\\FY06\\por\\03-18por\\Aje.xls', UpdateLinks _
:=False
Sheets('TWC').Select
Sheets('TWC').Copy Before:=Workbooks('TWC.xls').Sheets(1)
Sheets('TWC').Select
Sheets('TWC').Name = 'Aje'
Windows('aje.xls').Activate
ActiveWindow.Close SaveChanges:=False
 

Bebere

XLDnaute Barbatruc
bonjour Totor

à adapter au niveau Fichier... et Msgbox...

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 = 'F:\\Dossier\\Fichier.xls' 'à adapter

' 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'à adapter
Next

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

à bientôt
 

MichelXld

XLDnaute Barbatruc
bonsoir Totor , bonsoir cher Bebere


je n'ai pas compris la meme chose


Sub importDonnees_Feuille_ClasseurFerme()
'
'Activer la reference Microsoft ActiveX Data Objects x.x Library
'
Dim Cn As ADODB.Connection
Dim Rs As ADODB.Recordset
Dim Ws As Worksheet
Dim xConnect As String, Fichier As String, Cible As String

Fichier = 'G:\\\\\\\\FINANCEFY06por3-18por\\\\\\\\Aje.xls'

xConnect = 'DRIVER={Microsoft Excel Driver (*.xls)};' & _
'ReadOnly=1;DBQ=' & Fichier

'attention à bien à jouter $ à la suite du nom de la feuille
Cible = 'SELECT * FROM [TWC$];'

Set Rs = New ADODB.Recordset
Rs.Open Cible, xConnect, adOpenStatic, adLockOptimistic, adCmdText

Set Ws = Workbooks('TWC.xls').Worksheets.Add
Ws.Name = 'Aje'
Ws.Range('A1').CopyFromRecordset Rs

Rs.Close
Set Rs = Nothing
End Sub



bonne soirée
MichelXld
 

Totor

XLDnaute Nouveau
Rere bonjour,

Désolé pour cette question. Je viens de trouver la réponse VB/outils/reference et cocher Microsoft Active x...


Par contre, la macro plante maintenant à 'Rs.Open Cible, xConnect, adOpenStatic, adLockOptimistic, adCmdText'.

Auriez vous une expliquation.

merci forum

totor
 

Totor

XLDnaute Nouveau
Forum,

Oubliez cette 2nde question, je viens de trouver la réponse. Désolé (mais bon je pense que personne n a eu le temps de la lire).

La macro marche parfaitement, mais ne copie que les valeurs, pas la mise en forme.

Savez vous quelles modif je dois apporter.

Merci

Totor
 

Ifthen

XLDnaute Nouveau
Re : Copier onglet sans ouvrir classeur

Salut à tous, Salut Totor,

Pourais tu répondre à la seconde question que tu as posé. J'ai un blocage au niveau de la même ligne et je n'arrive pas à trouver d'où ça vient !!!

Merci par avance !
 

Discussions similaires

Statistiques des forums

Discussions
312 584
Messages
2 089 995
Membres
104 331
dernier inscrit
xdream