Bonjour à tous,
Grace à la contribution de membres de ce forum, j'ai pu mettre en place une macro qui me permet d'importer dans un fichier des données d'un autre fichier EXCEL fermé.
Cela fonctionne plutôt bien sauf que :
- je n'arrive pas à faire importer également la mise en forme des données
- il ne m'importe pas toutes les entêtes de colonnes.
en effet, toutes les entêtes de colonnes de données numériques ne sont pas remontées.
Je vous soumets mon code
Peut être que aurez la solution pour résoudre mes difficultés
Sub TestQuery()
fich$ = 'C\\\\Fichier_Source.xls'
Feuille$ = 'BASE'
QueryWorksheet fich, Feuille
End Sub
Public Sub QueryWorksheet(NomFichier$, Feuille$)
Dim rsData As ADODB.Recordset
Dim szConnect As String
Dim szSQL As String
szConnect = 'Provider=Microsoft.Jet.OLEDB.4.0;' & _
'Data Source=' & NomFichier & ';' & _
'Extended Properties=Excel 8.0;'
szSQL = 'SELECT * FROM [' & Feuille & '$];'
Set rsData = New ADODB.Recordset
rsData.Open szSQL, szConnect, adOpenForwardOnly, _
adLockReadOnly, adCmdText
If Not rsData.EOF Then
Sheets('BASE').Range('A1').CopyFromRecordset rsData
Else
MsgBox 'Aucun enregistrement renvoyé.', vbCritical
End If
rsData.Close
Set rsData = Nothing
End Sub
Grace à la contribution de membres de ce forum, j'ai pu mettre en place une macro qui me permet d'importer dans un fichier des données d'un autre fichier EXCEL fermé.
Cela fonctionne plutôt bien sauf que :
- je n'arrive pas à faire importer également la mise en forme des données
- il ne m'importe pas toutes les entêtes de colonnes.
en effet, toutes les entêtes de colonnes de données numériques ne sont pas remontées.
Je vous soumets mon code
Peut être que aurez la solution pour résoudre mes difficultés
Sub TestQuery()
fich$ = 'C\\\\Fichier_Source.xls'
Feuille$ = 'BASE'
QueryWorksheet fich, Feuille
End Sub
Public Sub QueryWorksheet(NomFichier$, Feuille$)
Dim rsData As ADODB.Recordset
Dim szConnect As String
Dim szSQL As String
szConnect = 'Provider=Microsoft.Jet.OLEDB.4.0;' & _
'Data Source=' & NomFichier & ';' & _
'Extended Properties=Excel 8.0;'
szSQL = 'SELECT * FROM [' & Feuille & '$];'
Set rsData = New ADODB.Recordset
rsData.Open szSQL, szConnect, adOpenForwardOnly, _
adLockReadOnly, adCmdText
If Not rsData.EOF Then
Sheets('BASE').Range('A1').CopyFromRecordset rsData
Else
MsgBox 'Aucun enregistrement renvoyé.', vbCritical
End If
rsData.Close
Set rsData = Nothing
End Sub