Créer une nouvelle feuille dans un classeur fermé et y exporter les données de la feuille active
Sub Export_versNouvelleFeuille_classeurExcelFerme()
'transférer la feuille "devis" dans un nouvel onglet d'un classeur fermé
Dim oRS As ADODB.Recordset
Dim oConn As ADODB.Connection
Dim maFeuille As String, prepaTable As String
Dim j As Integer, i As Integer
'nom(sans espace!) de la feuille Excel qui va etre créée dans le classeur fermé
maFeuille = "archiveDevis001"
Set oConn = New ADODB.Connection oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\classeur1_Fermé.xls;" & _
"Extended Properties=""Excel 8.0;HDR=NO;"""
For i = 1 To 10 'nombre de colonnes à transférer
'paramétrage entêtes de colonnes et types de données
prepaTable = prepaTable & "Colonne" & i & " Memo ," 'adapter les types de données
Next i
prepaTable = Left(prepaTable, Len(prepaTable) - 1)
'creation nouvelle Feuille Excel
oConn.Execute "create table " & maFeuille & "(" & prepaTable & ")"
Set oRS = New ADODB.Recordset
oRS.Open "Select * from " & maFeuille, oConn, adOpenKeyset, adLockOptimistic
For j = 1 To 40 'nombre de lignes à transferer
oRS.addNew
For i = 1 To 10 'nombre de colonnes à transférer
oRS.Fields(i - 1) = activeSheet.Cells(j, i)
Next i
oRS.Update
Next j
oRS.Close
oConn.Close
End Sub