Bonjour,
J'essaie d'utiliser le code de Frederic Sigonneau pour importer une feuille
entière à partir d'un classeur fermé. Je souhaiterais ensuite me servir des
données obtenues comme source d'un pivottable.
Je coince à 2 endroits. Premièrement le code me copie la feuille sans la
première ligne !! Deuxièmement, je n'arrive pas à mettre directement en
source de mon pivot les données obtenues. Je pensais remplacer
Feuil1.Range("A1").CopyFromRecordset rsData
par
ActiveSheet.PivotTableWizard SourceType:=xlexternal, SourceData:= rsdata
Mais cela ne marche pas...
Pourriez vous me donner un coup de main ? C'est la première fois que
j'utilise ADO donc je suis un peu perdu qui plus est.
Cordialement
Benjamin
Le code de Frederic :
Sub testQuery()
fich$ = "D:ExempleTris.xls"
Feuille$ = "Feuil1"
QueryWorksheet fich, Feuille
End Sub
Public Sub QueryWorksheet(NomFichier$, Feuille$)
'Rob Bovey, mpep
'nécessite une référence à la librairie
'Microsoft ActiveX Data Object 2.x Library
Dim rsData As ADODB.Recordset
Dim szConnect As String
Dim szSQL As String
''' Crée la chaîne de connexion
szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=Excel 8.0;"
' La requête est basée sur le nom de la feuille. Ce nom
' doit se terminer par un $ et doit être entouré de crochets droits.
' Adapter ce nom à vos besoins
szSQL = "SELECT * FROM [" & Feuille & "$];"
Set rsData = New ADODB.Recordset
rsData.Open szSQL, szConnect, adOpenForwardOnly, _
adLockReadOnly, adCmdText
''' Vérifie qu'on a bien reçu des données
If Not rsData.EOF Then
Feuil1.Range("A1").CopyFromRecordset rsData
Else
MsgBox "Aucun enregistrement renvoyé.", vbCritical
End If
''' On nettoie pour finir...
rsData.Close
Set rsData = Nothing
End Sub
Bonjour,
J'essaie d'utiliser le code de Frederic Sigonneau pour importer une feuille
entière à partir d'un classeur fermé. Je souhaiterais ensuite me servir des
données obtenues comme source d'un pivottable.
Je coince à 2 endroits. Premièrement le code me copie la feuille sans la
première ligne !! Deuxièmement, je n'arrive pas à mettre directement en
source de mon pivot les données obtenues. Je pensais remplacer
Feuil1.Range("A1").CopyFromRecordset rsData
par
ActiveSheet.PivotTableWizard SourceType:=xlexternal, SourceData:= rsdata
Mais cela ne marche pas...
Pourriez vous me donner un coup de main ? C'est la première fois que
j'utilise ADO donc je suis un peu perdu qui plus est.
Cordialement
Benjamin
Le code de Frederic :
Sub testQuery()
fich$ = "D:ExempleTris.xls"
Feuille$ = "Feuil1"
QueryWorksheet fich, Feuille
End Sub
Public Sub QueryWorksheet(NomFichier$, Feuille$)
'Rob Bovey, mpep
'nécessite une référence à la librairie
'Microsoft ActiveX Data Object 2.x Library
Dim rsData As ADODB.Recordset
Dim szConnect As String
Dim szSQL As String
''' Crée la chaîne de connexion
szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=Excel 8.0;"
' La requête est basée sur le nom de la feuille. Ce nom
' doit se terminer par un $ et doit être entouré de crochets droits.
' Adapter ce nom à vos besoins
szSQL = "SELECT * FROM [" & Feuille & "$];"
Set rsData = New ADODB.Recordset
rsData.Open szSQL, szConnect, adOpenForwardOnly, _
adLockReadOnly, adCmdText
''' Vérifie qu'on a bien reçu des données
If Not rsData.EOF Then
Feuil1.Range("A1").CopyFromRecordset rsData
Else
MsgBox "Aucun enregistrement renvoyé.", vbCritical
End If
''' On nettoie pour finir...
rsData.Close
Set rsData = Nothing
End Sub
Bonjour,
J'essaie d'utiliser le code de Frederic Sigonneau pour importer une feuille
entière à partir d'un classeur fermé. Je souhaiterais ensuite me servir des
données obtenues comme source d'un pivottable.
Je coince à 2 endroits. Premièrement le code me copie la feuille sans la
première ligne !! Deuxièmement, je n'arrive pas à mettre directement en
source de mon pivot les données obtenues. Je pensais remplacer
Feuil1.Range("A1").CopyFromRecordset rsData
par
ActiveSheet.PivotTableWizard SourceType:=xlexternal, SourceData:= rsdata
Mais cela ne marche pas...
Pourriez vous me donner un coup de main ? C'est la première fois que
j'utilise ADO donc je suis un peu perdu qui plus est.
Cordialement
Benjamin
Le code de Frederic :
Sub testQuery()
fich$ = "D:ExempleTris.xls"
Feuille$ = "Feuil1"
QueryWorksheet fich, Feuille
End Sub
Public Sub QueryWorksheet(NomFichier$, Feuille$)
'Rob Bovey, mpep
'nécessite une référence à la librairie
'Microsoft ActiveX Data Object 2.x Library
Dim rsData As ADODB.Recordset
Dim szConnect As String
Dim szSQL As String
''' Crée la chaîne de connexion
szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=Excel 8.0;"
' La requête est basée sur le nom de la feuille. Ce nom
' doit se terminer par un $ et doit être entouré de crochets droits.
' Adapter ce nom à vos besoins
szSQL = "SELECT * FROM [" & Feuille & "$];"
Set rsData = New ADODB.Recordset
rsData.Open szSQL, szConnect, adOpenForwardOnly, _
adLockReadOnly, adCmdText
''' Vérifie qu'on a bien reçu des données
If Not rsData.EOF Then
Feuil1.Range("A1").CopyFromRecordset rsData
Else
MsgBox "Aucun enregistrement renvoyé.", vbCritical
End If
''' On nettoie pour finir...
rsData.Close
Set rsData = Nothing
End Sub
Salut,
J'ai trouvé pourquoi je n'obtenais pas la première ligne, c'est parcequ'elle
est considéré comme une ligne de titre, j'ai trouvé dans un autre classeur de
frederic (j'aime bien son site:-) comment la récupérer.
Par contre, je suis toujours obligé de passer par une feuille intermédiaire
pour mon TCD. Alors qu'il existe certainement une technique pour lui mettre
directement les données en source...
Cordialement
BenjaminBonjour,
J'essaie d'utiliser le code de Frederic Sigonneau pour importer une feuille
entière à partir d'un classeur fermé. Je souhaiterais ensuite me servir des
données obtenues comme source d'un pivottable.
Je coince à 2 endroits. Premièrement le code me copie la feuille sans la
première ligne !! Deuxièmement, je n'arrive pas à mettre directement en
source de mon pivot les données obtenues. Je pensais remplacer
Feuil1.Range("A1").CopyFromRecordset rsData
par
ActiveSheet.PivotTableWizard SourceType:=xlexternal, SourceData:= rsdata
Mais cela ne marche pas...
Pourriez vous me donner un coup de main ? C'est la première fois que
j'utilise ADO donc je suis un peu perdu qui plus est.
Cordialement
Benjamin
Le code de Frederic :
Sub testQuery()
fich$ = "D:ExempleTris.xls"
Feuille$ = "Feuil1"
QueryWorksheet fich, Feuille
End Sub
Public Sub QueryWorksheet(NomFichier$, Feuille$)
'Rob Bovey, mpep
'nécessite une référence à la librairie
'Microsoft ActiveX Data Object 2.x Library
Dim rsData As ADODB.Recordset
Dim szConnect As String
Dim szSQL As String
''' Crée la chaîne de connexion
szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=Excel 8.0;"
' La requête est basée sur le nom de la feuille. Ce nom
' doit se terminer par un $ et doit être entouré de crochets droits.
' Adapter ce nom à vos besoins
szSQL = "SELECT * FROM [" & Feuille & "$];"
Set rsData = New ADODB.Recordset
rsData.Open szSQL, szConnect, adOpenForwardOnly, _
adLockReadOnly, adCmdText
''' Vérifie qu'on a bien reçu des données
If Not rsData.EOF Then
Feuil1.Range("A1").CopyFromRecordset rsData
Else
MsgBox "Aucun enregistrement renvoyé.", vbCritical
End If
''' On nettoie pour finir...
rsData.Close
Set rsData = Nothing
End Sub
Salut,
J'ai trouvé pourquoi je n'obtenais pas la première ligne, c'est parcequ'elle
est considéré comme une ligne de titre, j'ai trouvé dans un autre classeur de
frederic (j'aime bien son site:-) comment la récupérer.
Par contre, je suis toujours obligé de passer par une feuille intermédiaire
pour mon TCD. Alors qu'il existe certainement une technique pour lui mettre
directement les données en source...
Cordialement
Benjamin
Bonjour,
J'essaie d'utiliser le code de Frederic Sigonneau pour importer une feuille
entière à partir d'un classeur fermé. Je souhaiterais ensuite me servir des
données obtenues comme source d'un pivottable.
Je coince à 2 endroits. Premièrement le code me copie la feuille sans la
première ligne !! Deuxièmement, je n'arrive pas à mettre directement en
source de mon pivot les données obtenues. Je pensais remplacer
Feuil1.Range("A1").CopyFromRecordset rsData
par
ActiveSheet.PivotTableWizard SourceType:=xlexternal, SourceData:= rsdata
Mais cela ne marche pas...
Pourriez vous me donner un coup de main ? C'est la première fois que
j'utilise ADO donc je suis un peu perdu qui plus est.
Cordialement
Benjamin
Le code de Frederic :
Sub testQuery()
fich$ = "D:ExempleTris.xls"
Feuille$ = "Feuil1"
QueryWorksheet fich, Feuille
End Sub
Public Sub QueryWorksheet(NomFichier$, Feuille$)
'Rob Bovey, mpep
'nécessite une référence à la librairie
'Microsoft ActiveX Data Object 2.x Library
Dim rsData As ADODB.Recordset
Dim szConnect As String
Dim szSQL As String
''' Crée la chaîne de connexion
szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=Excel 8.0;"
' La requête est basée sur le nom de la feuille. Ce nom
' doit se terminer par un $ et doit être entouré de crochets droits.
' Adapter ce nom à vos besoins
szSQL = "SELECT * FROM [" & Feuille & "$];"
Set rsData = New ADODB.Recordset
rsData.Open szSQL, szConnect, adOpenForwardOnly, _
adLockReadOnly, adCmdText
''' Vérifie qu'on a bien reçu des données
If Not rsData.EOF Then
Feuil1.Range("A1").CopyFromRecordset rsData
Else
MsgBox "Aucun enregistrement renvoyé.", vbCritical
End If
''' On nettoie pour finir...
rsData.Close
Set rsData = Nothing
End Sub
Salut,
J'ai trouvé pourquoi je n'obtenais pas la première ligne, c'est parcequ'elle
est considéré comme une ligne de titre, j'ai trouvé dans un autre classeur de
frederic (j'aime bien son site:-) comment la récupérer.
Par contre, je suis toujours obligé de passer par une feuille intermédiaire
pour mon TCD. Alors qu'il existe certainement une technique pour lui mettre
directement les données en source...
Cordialement
BenjaminBonjour,
J'essaie d'utiliser le code de Frederic Sigonneau pour importer une feuille
entière à partir d'un classeur fermé. Je souhaiterais ensuite me servir des
données obtenues comme source d'un pivottable.
Je coince à 2 endroits. Premièrement le code me copie la feuille sans la
première ligne !! Deuxièmement, je n'arrive pas à mettre directement en
source de mon pivot les données obtenues. Je pensais remplacer
Feuil1.Range("A1").CopyFromRecordset rsData
par
ActiveSheet.PivotTableWizard SourceType:=xlexternal, SourceData:= rsdata
Mais cela ne marche pas...
Pourriez vous me donner un coup de main ? C'est la première fois que
j'utilise ADO donc je suis un peu perdu qui plus est.
Cordialement
Benjamin
Le code de Frederic :
Sub testQuery()
fich$ = "D:ExempleTris.xls"
Feuille$ = "Feuil1"
QueryWorksheet fich, Feuille
End Sub
Public Sub QueryWorksheet(NomFichier$, Feuille$)
'Rob Bovey, mpep
'nécessite une référence à la librairie
'Microsoft ActiveX Data Object 2.x Library
Dim rsData As ADODB.Recordset
Dim szConnect As String
Dim szSQL As String
''' Crée la chaîne de connexion
szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=Excel 8.0;"
' La requête est basée sur le nom de la feuille. Ce nom
' doit se terminer par un $ et doit être entouré de crochets droits.
' Adapter ce nom à vos besoins
szSQL = "SELECT * FROM [" & Feuille & "$];"
Set rsData = New ADODB.Recordset
rsData.Open szSQL, szConnect, adOpenForwardOnly, _
adLockReadOnly, adCmdText
''' Vérifie qu'on a bien reçu des données
If Not rsData.EOF Then
Feuil1.Range("A1").CopyFromRecordset rsData
Else
MsgBox "Aucun enregistrement renvoyé.", vbCritical
End If
''' On nettoie pour finir...
rsData.Close
Set rsData = Nothing
End Sub
Bonjour,
J'essaie d'utiliser le code de Frederic Sigonneau pour importer une feuille
entière à partir d'un classeur fermé. Je souhaiterais ensuite me servir des
données obtenues comme source d'un pivottable.
Je coince à 2 endroits. Premièrement le code me copie la feuille sans la
première ligne !! Deuxièmement, je n'arrive pas à mettre directement en
source de mon pivot les données obtenues. Je pensais remplacer
Feuil1.Range("A1").CopyFromRecordset rsData
par
ActiveSheet.PivotTableWizard SourceType:=xlexternal, SourceData:= rsdata
Mais cela ne marche pas...
Pourriez vous me donner un coup de main ? C'est la première fois que
j'utilise ADO donc je suis un peu perdu qui plus est.
Cordialement
Benjamin
Le code de Frederic :
Sub testQuery()
fich$ = "D:ExempleTris.xls"
Feuille$ = "Feuil1"
QueryWorksheet fich, Feuille
End Sub
Public Sub QueryWorksheet(NomFichier$, Feuille$)
'Rob Bovey, mpep
'nécessite une référence à la librairie
'Microsoft ActiveX Data Object 2.x Library
Dim rsData As ADODB.Recordset
Dim szConnect As String
Dim szSQL As String
''' Crée la chaîne de connexion
szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=Excel 8.0;"
' La requête est basée sur le nom de la feuille. Ce nom
' doit se terminer par un $ et doit être entouré de crochets droits.
' Adapter ce nom à vos besoins
szSQL = "SELECT * FROM [" & Feuille & "$];"
Set rsData = New ADODB.Recordset
rsData.Open szSQL, szConnect, adOpenForwardOnly, _
adLockReadOnly, adCmdText
''' Vérifie qu'on a bien reçu des données
If Not rsData.EOF Then
Feuil1.Range("A1").CopyFromRecordset rsData
Else
MsgBox "Aucun enregistrement renvoyé.", vbCritical
End If
''' On nettoie pour finir...
rsData.Close
Set rsData = Nothing
End Sub
Bonjour,
J'essaie d'utiliser le code de Frederic Sigonneau pour importer une feuille
entière à partir d'un classeur fermé. Je souhaiterais ensuite me servir des
données obtenues comme source d'un pivottable.
Je coince à 2 endroits. Premièrement le code me copie la feuille sans la
première ligne !! Deuxièmement, je n'arrive pas à mettre directement en
source de mon pivot les données obtenues. Je pensais remplacer
Feuil1.Range("A1").CopyFromRecordset rsData
par
ActiveSheet.PivotTableWizard SourceType:=xlexternal, SourceData:= rsdata
Mais cela ne marche pas...
Pourriez vous me donner un coup de main ? C'est la première fois que
j'utilise ADO donc je suis un peu perdu qui plus est.
Cordialement
Benjamin
Le code de Frederic :
Sub testQuery()
fich$ = "D:ExempleTris.xls"
Feuille$ = "Feuil1"
QueryWorksheet fich, Feuille
End Sub
Public Sub QueryWorksheet(NomFichier$, Feuille$)
'Rob Bovey, mpep
'nécessite une référence à la librairie
'Microsoft ActiveX Data Object 2.x Library
Dim rsData As ADODB.Recordset
Dim szConnect As String
Dim szSQL As String
''' Crée la chaîne de connexion
szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=Excel 8.0;"
' La requête est basée sur le nom de la feuille. Ce nom
' doit se terminer par un $ et doit être entouré de crochets droits.
' Adapter ce nom à vos besoins
szSQL = "SELECT * FROM [" & Feuille & "$];"
Set rsData = New ADODB.Recordset
rsData.Open szSQL, szConnect, adOpenForwardOnly, _
adLockReadOnly, adCmdText
''' Vérifie qu'on a bien reçu des données
If Not rsData.EOF Then
Feuil1.Range("A1").CopyFromRecordset rsData
Else
MsgBox "Aucun enregistrement renvoyé.", vbCritical
End If
''' On nettoie pour finir...
rsData.Close
Set rsData = Nothing
End Sub
Bonjour,
J'essaie d'utiliser le code de Frederic Sigonneau pour importer une feuille
entière à partir d'un classeur fermé. Je souhaiterais ensuite me servir des
données obtenues comme source d'un pivottable.
Je coince à 2 endroits. Premièrement le code me copie la feuille sans la
première ligne !! Deuxièmement, je n'arrive pas à mettre directement en
source de mon pivot les données obtenues. Je pensais remplacer
Feuil1.Range("A1").CopyFromRecordset rsData
par
ActiveSheet.PivotTableWizard SourceType:=xlexternal, SourceData:= rsdata
Mais cela ne marche pas...
Pourriez vous me donner un coup de main ? C'est la première fois que
j'utilise ADO donc je suis un peu perdu qui plus est.
Cordialement
Benjamin
Le code de Frederic :
Sub testQuery()
fich$ = "D:ExempleTris.xls"
Feuille$ = "Feuil1"
QueryWorksheet fich, Feuille
End Sub
Public Sub QueryWorksheet(NomFichier$, Feuille$)
'Rob Bovey, mpep
'nécessite une référence à la librairie
'Microsoft ActiveX Data Object 2.x Library
Dim rsData As ADODB.Recordset
Dim szConnect As String
Dim szSQL As String
''' Crée la chaîne de connexion
szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=Excel 8.0;"
' La requête est basée sur le nom de la feuille. Ce nom
' doit se terminer par un $ et doit être entouré de crochets droits.
' Adapter ce nom à vos besoins
szSQL = "SELECT * FROM [" & Feuille & "$];"
Set rsData = New ADODB.Recordset
rsData.Open szSQL, szConnect, adOpenForwardOnly, _
adLockReadOnly, adCmdText
''' Vérifie qu'on a bien reçu des données
If Not rsData.EOF Then
Feuil1.Range("A1").CopyFromRecordset rsData
Else
MsgBox "Aucun enregistrement renvoyé.", vbCritical
End If
''' On nettoie pour finir...
rsData.Close
Set rsData = Nothing
End Sub
tu as essayé en enregistrant une macro ?
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"poy-poy" a écrit dans le message de news:Salut,
J'ai trouvé pourquoi je n'obtenais pas la première ligne, c'est parcequ'elle
est considéré comme une ligne de titre, j'ai trouvé dans un autre classeur de
frederic (j'aime bien son site:-) comment la récupérer.
Par contre, je suis toujours obligé de passer par une feuille intermédiaire
pour mon TCD. Alors qu'il existe certainement une technique pour lui mettre
directement les données en source...
Cordialement
BenjaminBonjour,
J'essaie d'utiliser le code de Frederic Sigonneau pour importer une feuille
entière à partir d'un classeur fermé. Je souhaiterais ensuite me servir des
données obtenues comme source d'un pivottable.
Je coince à 2 endroits. Premièrement le code me copie la feuille sans la
première ligne !! Deuxièmement, je n'arrive pas à mettre directement en
source de mon pivot les données obtenues. Je pensais remplacer
Feuil1.Range("A1").CopyFromRecordset rsData
par
ActiveSheet.PivotTableWizard SourceType:=xlexternal, SourceData:= rsdata
Mais cela ne marche pas...
Pourriez vous me donner un coup de main ? C'est la première fois que
j'utilise ADO donc je suis un peu perdu qui plus est.
Cordialement
Benjamin
Le code de Frederic :
Sub testQuery()
fich$ = "D:ExempleTris.xls"
Feuille$ = "Feuil1"
QueryWorksheet fich, Feuille
End Sub
Public Sub QueryWorksheet(NomFichier$, Feuille$)
'Rob Bovey, mpep
'nécessite une référence à la librairie
'Microsoft ActiveX Data Object 2.x Library
Dim rsData As ADODB.Recordset
Dim szConnect As String
Dim szSQL As String
''' Crée la chaîne de connexion
szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=Excel 8.0;"
' La requête est basée sur le nom de la feuille. Ce nom
' doit se terminer par un $ et doit être entouré de crochets droits.
' Adapter ce nom à vos besoins
szSQL = "SELECT * FROM [" & Feuille & "$];"
Set rsData = New ADODB.Recordset
rsData.Open szSQL, szConnect, adOpenForwardOnly, _
adLockReadOnly, adCmdText
''' Vérifie qu'on a bien reçu des données
If Not rsData.EOF Then
Feuil1.Range("A1").CopyFromRecordset rsData
Else
MsgBox "Aucun enregistrement renvoyé.", vbCritical
End If
''' On nettoie pour finir...
rsData.Close
Set rsData = Nothing
End Sub
tu as essayé en enregistrant une macro ?
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"poy-poy" <poypoy@discussions.microsoft.com> a écrit dans le message de news:589E717C-71C5-4DFD-8F95-A95C91F08DF5@microsoft.com...
Salut,
J'ai trouvé pourquoi je n'obtenais pas la première ligne, c'est parcequ'elle
est considéré comme une ligne de titre, j'ai trouvé dans un autre classeur de
frederic (j'aime bien son site:-) comment la récupérer.
Par contre, je suis toujours obligé de passer par une feuille intermédiaire
pour mon TCD. Alors qu'il existe certainement une technique pour lui mettre
directement les données en source...
Cordialement
Benjamin
Bonjour,
J'essaie d'utiliser le code de Frederic Sigonneau pour importer une feuille
entière à partir d'un classeur fermé. Je souhaiterais ensuite me servir des
données obtenues comme source d'un pivottable.
Je coince à 2 endroits. Premièrement le code me copie la feuille sans la
première ligne !! Deuxièmement, je n'arrive pas à mettre directement en
source de mon pivot les données obtenues. Je pensais remplacer
Feuil1.Range("A1").CopyFromRecordset rsData
par
ActiveSheet.PivotTableWizard SourceType:=xlexternal, SourceData:= rsdata
Mais cela ne marche pas...
Pourriez vous me donner un coup de main ? C'est la première fois que
j'utilise ADO donc je suis un peu perdu qui plus est.
Cordialement
Benjamin
Le code de Frederic :
Sub testQuery()
fich$ = "D:ExempleTris.xls"
Feuille$ = "Feuil1"
QueryWorksheet fich, Feuille
End Sub
Public Sub QueryWorksheet(NomFichier$, Feuille$)
'Rob Bovey, mpep
'nécessite une référence à la librairie
'Microsoft ActiveX Data Object 2.x Library
Dim rsData As ADODB.Recordset
Dim szConnect As String
Dim szSQL As String
''' Crée la chaîne de connexion
szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=Excel 8.0;"
' La requête est basée sur le nom de la feuille. Ce nom
' doit se terminer par un $ et doit être entouré de crochets droits.
' Adapter ce nom à vos besoins
szSQL = "SELECT * FROM [" & Feuille & "$];"
Set rsData = New ADODB.Recordset
rsData.Open szSQL, szConnect, adOpenForwardOnly, _
adLockReadOnly, adCmdText
''' Vérifie qu'on a bien reçu des données
If Not rsData.EOF Then
Feuil1.Range("A1").CopyFromRecordset rsData
Else
MsgBox "Aucun enregistrement renvoyé.", vbCritical
End If
''' On nettoie pour finir...
rsData.Close
Set rsData = Nothing
End Sub
tu as essayé en enregistrant une macro ?
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"poy-poy" a écrit dans le message de news:Salut,
J'ai trouvé pourquoi je n'obtenais pas la première ligne, c'est parcequ'elle
est considéré comme une ligne de titre, j'ai trouvé dans un autre classeur de
frederic (j'aime bien son site:-) comment la récupérer.
Par contre, je suis toujours obligé de passer par une feuille intermédiaire
pour mon TCD. Alors qu'il existe certainement une technique pour lui mettre
directement les données en source...
Cordialement
BenjaminBonjour,
J'essaie d'utiliser le code de Frederic Sigonneau pour importer une feuille
entière à partir d'un classeur fermé. Je souhaiterais ensuite me servir des
données obtenues comme source d'un pivottable.
Je coince à 2 endroits. Premièrement le code me copie la feuille sans la
première ligne !! Deuxièmement, je n'arrive pas à mettre directement en
source de mon pivot les données obtenues. Je pensais remplacer
Feuil1.Range("A1").CopyFromRecordset rsData
par
ActiveSheet.PivotTableWizard SourceType:=xlexternal, SourceData:= rsdata
Mais cela ne marche pas...
Pourriez vous me donner un coup de main ? C'est la première fois que
j'utilise ADO donc je suis un peu perdu qui plus est.
Cordialement
Benjamin
Le code de Frederic :
Sub testQuery()
fich$ = "D:ExempleTris.xls"
Feuille$ = "Feuil1"
QueryWorksheet fich, Feuille
End Sub
Public Sub QueryWorksheet(NomFichier$, Feuille$)
'Rob Bovey, mpep
'nécessite une référence à la librairie
'Microsoft ActiveX Data Object 2.x Library
Dim rsData As ADODB.Recordset
Dim szConnect As String
Dim szSQL As String
''' Crée la chaîne de connexion
szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=Excel 8.0;"
' La requête est basée sur le nom de la feuille. Ce nom
' doit se terminer par un $ et doit être entouré de crochets droits.
' Adapter ce nom à vos besoins
szSQL = "SELECT * FROM [" & Feuille & "$];"
Set rsData = New ADODB.Recordset
rsData.Open szSQL, szConnect, adOpenForwardOnly, _
adLockReadOnly, adCmdText
''' Vérifie qu'on a bien reçu des données
If Not rsData.EOF Then
Feuil1.Range("A1").CopyFromRecordset rsData
Else
MsgBox "Aucun enregistrement renvoyé.", vbCritical
End If
''' On nettoie pour finir...
rsData.Close
Set rsData = Nothing
End Sub
Bonjour Poy-Poy,
Pour avoir la ligne de titre de la plage de cellules, tu dois définir ta chaine de connection comme ceci :
Conn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=Excel 8.0;"HDR=No"
"HDR=No" No = pas de ligne d'étiquette
"HDR=Yes" Yes = Ligne d'étiquette
P.S. Et si tu avais le bonheur d'avoir le programme "Visual Basic" d'installer sur ta machine, tu pourrais à partir des
outils supplémentaires de la barre d'outils "contrôle" ajouter un contrôle du nom de : "Microsoft ADO Control Data,
Version 6.0 Oleb . L'avantage est que tu peux à partir des propriétés de ce contrôle généré des fenêtres ... et en
répondant à ces dernières, cela génère les chaînes de commande sans avoir besoin des saisir à la mimine ! Évidemment, il
est possible de tout récupérer la valeur de ces propriétés en VBA.
Attention, il ne faut pas le dire à tout le monde !
Salutations!
"poy-poy" a écrit dans le message de news:
Salut,
J'ai trouvé pourquoi je n'obtenais pas la première ligne, c'est parcequ'elle
est considéré comme une ligne de titre, j'ai trouvé dans un autre classeur de
frederic (j'aime bien son site:-) comment la récupérer.
Par contre, je suis toujours obligé de passer par une feuille intermédiaire
pour mon TCD. Alors qu'il existe certainement une technique pour lui mettre
directement les données en source...
Cordialement
BenjaminBonjour,
J'essaie d'utiliser le code de Frederic Sigonneau pour importer une feuille
entière à partir d'un classeur fermé. Je souhaiterais ensuite me servir des
données obtenues comme source d'un pivottable.
Je coince à 2 endroits. Premièrement le code me copie la feuille sans la
première ligne !! Deuxièmement, je n'arrive pas à mettre directement en
source de mon pivot les données obtenues. Je pensais remplacer
Feuil1.Range("A1").CopyFromRecordset rsData
par
ActiveSheet.PivotTableWizard SourceType:=xlexternal, SourceData:= rsdata
Mais cela ne marche pas...
Pourriez vous me donner un coup de main ? C'est la première fois que
j'utilise ADO donc je suis un peu perdu qui plus est.
Cordialement
Benjamin
Le code de Frederic :
Sub testQuery()
fich$ = "D:ExempleTris.xls"
Feuille$ = "Feuil1"
QueryWorksheet fich, Feuille
End Sub
Public Sub QueryWorksheet(NomFichier$, Feuille$)
'Rob Bovey, mpep
'nécessite une référence à la librairie
'Microsoft ActiveX Data Object 2.x Library
Dim rsData As ADODB.Recordset
Dim szConnect As String
Dim szSQL As String
''' Crée la chaîne de connexion
szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=Excel 8.0;"
' La requête est basée sur le nom de la feuille. Ce nom
' doit se terminer par un $ et doit être entouré de crochets droits.
' Adapter ce nom à vos besoins
szSQL = "SELECT * FROM [" & Feuille & "$];"
Set rsData = New ADODB.Recordset
rsData.Open szSQL, szConnect, adOpenForwardOnly, _
adLockReadOnly, adCmdText
''' Vérifie qu'on a bien reçu des données
If Not rsData.EOF Then
Feuil1.Range("A1").CopyFromRecordset rsData
Else
MsgBox "Aucun enregistrement renvoyé.", vbCritical
End If
''' On nettoie pour finir...
rsData.Close
Set rsData = Nothing
End Sub
Bonjour Poy-Poy,
Pour avoir la ligne de titre de la plage de cellules, tu dois définir ta chaine de connection comme ceci :
Conn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=Excel 8.0;"HDR=No"
"HDR=No" No = pas de ligne d'étiquette
"HDR=Yes" Yes = Ligne d'étiquette
P.S. Et si tu avais le bonheur d'avoir le programme "Visual Basic" d'installer sur ta machine, tu pourrais à partir des
outils supplémentaires de la barre d'outils "contrôle" ajouter un contrôle du nom de : "Microsoft ADO Control Data,
Version 6.0 Oleb . L'avantage est que tu peux à partir des propriétés de ce contrôle généré des fenêtres ... et en
répondant à ces dernières, cela génère les chaînes de commande sans avoir besoin des saisir à la mimine ! Évidemment, il
est possible de tout récupérer la valeur de ces propriétés en VBA.
Attention, il ne faut pas le dire à tout le monde !
Salutations!
"poy-poy" <poypoy@discussions.microsoft.com> a écrit dans le message de news:
589E717C-71C5-4DFD-8F95-A95C91F08DF5@microsoft.com...
Salut,
J'ai trouvé pourquoi je n'obtenais pas la première ligne, c'est parcequ'elle
est considéré comme une ligne de titre, j'ai trouvé dans un autre classeur de
frederic (j'aime bien son site:-) comment la récupérer.
Par contre, je suis toujours obligé de passer par une feuille intermédiaire
pour mon TCD. Alors qu'il existe certainement une technique pour lui mettre
directement les données en source...
Cordialement
Benjamin
Bonjour,
J'essaie d'utiliser le code de Frederic Sigonneau pour importer une feuille
entière à partir d'un classeur fermé. Je souhaiterais ensuite me servir des
données obtenues comme source d'un pivottable.
Je coince à 2 endroits. Premièrement le code me copie la feuille sans la
première ligne !! Deuxièmement, je n'arrive pas à mettre directement en
source de mon pivot les données obtenues. Je pensais remplacer
Feuil1.Range("A1").CopyFromRecordset rsData
par
ActiveSheet.PivotTableWizard SourceType:=xlexternal, SourceData:= rsdata
Mais cela ne marche pas...
Pourriez vous me donner un coup de main ? C'est la première fois que
j'utilise ADO donc je suis un peu perdu qui plus est.
Cordialement
Benjamin
Le code de Frederic :
Sub testQuery()
fich$ = "D:ExempleTris.xls"
Feuille$ = "Feuil1"
QueryWorksheet fich, Feuille
End Sub
Public Sub QueryWorksheet(NomFichier$, Feuille$)
'Rob Bovey, mpep
'nécessite une référence à la librairie
'Microsoft ActiveX Data Object 2.x Library
Dim rsData As ADODB.Recordset
Dim szConnect As String
Dim szSQL As String
''' Crée la chaîne de connexion
szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=Excel 8.0;"
' La requête est basée sur le nom de la feuille. Ce nom
' doit se terminer par un $ et doit être entouré de crochets droits.
' Adapter ce nom à vos besoins
szSQL = "SELECT * FROM [" & Feuille & "$];"
Set rsData = New ADODB.Recordset
rsData.Open szSQL, szConnect, adOpenForwardOnly, _
adLockReadOnly, adCmdText
''' Vérifie qu'on a bien reçu des données
If Not rsData.EOF Then
Feuil1.Range("A1").CopyFromRecordset rsData
Else
MsgBox "Aucun enregistrement renvoyé.", vbCritical
End If
''' On nettoie pour finir...
rsData.Close
Set rsData = Nothing
End Sub
Bonjour Poy-Poy,
Pour avoir la ligne de titre de la plage de cellules, tu dois définir ta chaine de connection comme ceci :
Conn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=Excel 8.0;"HDR=No"
"HDR=No" No = pas de ligne d'étiquette
"HDR=Yes" Yes = Ligne d'étiquette
P.S. Et si tu avais le bonheur d'avoir le programme "Visual Basic" d'installer sur ta machine, tu pourrais à partir des
outils supplémentaires de la barre d'outils "contrôle" ajouter un contrôle du nom de : "Microsoft ADO Control Data,
Version 6.0 Oleb . L'avantage est que tu peux à partir des propriétés de ce contrôle généré des fenêtres ... et en
répondant à ces dernières, cela génère les chaînes de commande sans avoir besoin des saisir à la mimine ! Évidemment, il
est possible de tout récupérer la valeur de ces propriétés en VBA.
Attention, il ne faut pas le dire à tout le monde !
Salutations!
"poy-poy" a écrit dans le message de news:
Salut,
J'ai trouvé pourquoi je n'obtenais pas la première ligne, c'est parcequ'elle
est considéré comme une ligne de titre, j'ai trouvé dans un autre classeur de
frederic (j'aime bien son site:-) comment la récupérer.
Par contre, je suis toujours obligé de passer par une feuille intermédiaire
pour mon TCD. Alors qu'il existe certainement une technique pour lui mettre
directement les données en source...
Cordialement
BenjaminBonjour,
J'essaie d'utiliser le code de Frederic Sigonneau pour importer une feuille
entière à partir d'un classeur fermé. Je souhaiterais ensuite me servir des
données obtenues comme source d'un pivottable.
Je coince à 2 endroits. Premièrement le code me copie la feuille sans la
première ligne !! Deuxièmement, je n'arrive pas à mettre directement en
source de mon pivot les données obtenues. Je pensais remplacer
Feuil1.Range("A1").CopyFromRecordset rsData
par
ActiveSheet.PivotTableWizard SourceType:=xlexternal, SourceData:= rsdata
Mais cela ne marche pas...
Pourriez vous me donner un coup de main ? C'est la première fois que
j'utilise ADO donc je suis un peu perdu qui plus est.
Cordialement
Benjamin
Le code de Frederic :
Sub testQuery()
fich$ = "D:ExempleTris.xls"
Feuille$ = "Feuil1"
QueryWorksheet fich, Feuille
End Sub
Public Sub QueryWorksheet(NomFichier$, Feuille$)
'Rob Bovey, mpep
'nécessite une référence à la librairie
'Microsoft ActiveX Data Object 2.x Library
Dim rsData As ADODB.Recordset
Dim szConnect As String
Dim szSQL As String
''' Crée la chaîne de connexion
szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=Excel 8.0;"
' La requête est basée sur le nom de la feuille. Ce nom
' doit se terminer par un $ et doit être entouré de crochets droits.
' Adapter ce nom à vos besoins
szSQL = "SELECT * FROM [" & Feuille & "$];"
Set rsData = New ADODB.Recordset
rsData.Open szSQL, szConnect, adOpenForwardOnly, _
adLockReadOnly, adCmdText
''' Vérifie qu'on a bien reçu des données
If Not rsData.EOF Then
Feuil1.Range("A1").CopyFromRecordset rsData
Else
MsgBox "Aucun enregistrement renvoyé.", vbCritical
End If
''' On nettoie pour finir...
rsData.Close
Set rsData = Nothing
End Sub
Bonjour Poy-Poy,
Pour avoir la ligne de titre de la plage de cellules, tu dois définir ta chaine de connection comme ceci :
Conn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=Excel 8.0;"HDR=No"
"HDR=No" No = pas de ligne d'étiquette
"HDR=Yes" Yes = Ligne d'étiquette
P.S. Et si tu avais le bonheur d'avoir le programme "Visual Basic" d'installer sur ta machine, tu pourrais à partir des
outils supplémentaires de la barre d'outils "contrôle" ajouter un contrôle du nom de : "Microsoft ADO Control Data,
Version 6.0 Oleb . L'avantage est que tu peux à partir des propriétés de ce contrôle généré des fenêtres ... et en
répondant à ces dernières, cela génère les chaînes de commande sans avoir besoin des saisir à la mimine ! Évidemment, il
est possible de tout récupérer la valeur de ces propriétés en VBA.
Attention, il ne faut pas le dire à tout le monde !
Salutations!
"poy-poy" a écrit dans le message de news:
Salut,
J'ai trouvé pourquoi je n'obtenais pas la première ligne, c'est parcequ'elle
est considéré comme une ligne de titre, j'ai trouvé dans un autre classeur de
frederic (j'aime bien son site:-) comment la récupérer.
Par contre, je suis toujours obligé de passer par une feuille intermédiaire
pour mon TCD. Alors qu'il existe certainement une technique pour lui mettre
directement les données en source...
Cordialement
BenjaminBonjour,
J'essaie d'utiliser le code de Frederic Sigonneau pour importer une feuille
entière à partir d'un classeur fermé. Je souhaiterais ensuite me servir des
données obtenues comme source d'un pivottable.
Je coince à 2 endroits. Premièrement le code me copie la feuille sans la
première ligne !! Deuxièmement, je n'arrive pas à mettre directement en
source de mon pivot les données obtenues. Je pensais remplacer
Feuil1.Range("A1").CopyFromRecordset rsData
par
ActiveSheet.PivotTableWizard SourceType:=xlexternal, SourceData:= rsdata
Mais cela ne marche pas...
Pourriez vous me donner un coup de main ? C'est la première fois que
j'utilise ADO donc je suis un peu perdu qui plus est.
Cordialement
Benjamin
Le code de Frederic :
Sub testQuery()
fich$ = "D:ExempleTris.xls"
Feuille$ = "Feuil1"
QueryWorksheet fich, Feuille
End Sub
Public Sub QueryWorksheet(NomFichier$, Feuille$)
'Rob Bovey, mpep
'nécessite une référence à la librairie
'Microsoft ActiveX Data Object 2.x Library
Dim rsData As ADODB.Recordset
Dim szConnect As String
Dim szSQL As String
''' Crée la chaîne de connexion
szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=Excel 8.0;"
' La requête est basée sur le nom de la feuille. Ce nom
' doit se terminer par un $ et doit être entouré de crochets droits.
' Adapter ce nom à vos besoins
szSQL = "SELECT * FROM [" & Feuille & "$];"
Set rsData = New ADODB.Recordset
rsData.Open szSQL, szConnect, adOpenForwardOnly, _
adLockReadOnly, adCmdText
''' Vérifie qu'on a bien reçu des données
If Not rsData.EOF Then
Feuil1.Range("A1").CopyFromRecordset rsData
Else
MsgBox "Aucun enregistrement renvoyé.", vbCritical
End If
''' On nettoie pour finir...
rsData.Close
Set rsData = Nothing
End Sub
Bonjour Poy-Poy,
Pour avoir la ligne de titre de la plage de cellules, tu dois définir ta chaine de connection comme ceci :
Conn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=Excel 8.0;"HDR=No"
"HDR=No" No = pas de ligne d'étiquette
"HDR=Yes" Yes = Ligne d'étiquette
P.S. Et si tu avais le bonheur d'avoir le programme "Visual Basic" d'installer sur ta machine, tu pourrais à partir des
outils supplémentaires de la barre d'outils "contrôle" ajouter un contrôle du nom de : "Microsoft ADO Control Data,
Version 6.0 Oleb . L'avantage est que tu peux à partir des propriétés de ce contrôle généré des fenêtres ... et en
répondant à ces dernières, cela génère les chaînes de commande sans avoir besoin des saisir à la mimine ! Évidemment, il
est possible de tout récupérer la valeur de ces propriétés en VBA.
Attention, il ne faut pas le dire à tout le monde !
Salutations!
"poy-poy" <poypoy@discussions.microsoft.com> a écrit dans le message de news:
589E717C-71C5-4DFD-8F95-A95C91F08DF5@microsoft.com...
Salut,
J'ai trouvé pourquoi je n'obtenais pas la première ligne, c'est parcequ'elle
est considéré comme une ligne de titre, j'ai trouvé dans un autre classeur de
frederic (j'aime bien son site:-) comment la récupérer.
Par contre, je suis toujours obligé de passer par une feuille intermédiaire
pour mon TCD. Alors qu'il existe certainement une technique pour lui mettre
directement les données en source...
Cordialement
Benjamin
Bonjour,
J'essaie d'utiliser le code de Frederic Sigonneau pour importer une feuille
entière à partir d'un classeur fermé. Je souhaiterais ensuite me servir des
données obtenues comme source d'un pivottable.
Je coince à 2 endroits. Premièrement le code me copie la feuille sans la
première ligne !! Deuxièmement, je n'arrive pas à mettre directement en
source de mon pivot les données obtenues. Je pensais remplacer
Feuil1.Range("A1").CopyFromRecordset rsData
par
ActiveSheet.PivotTableWizard SourceType:=xlexternal, SourceData:= rsdata
Mais cela ne marche pas...
Pourriez vous me donner un coup de main ? C'est la première fois que
j'utilise ADO donc je suis un peu perdu qui plus est.
Cordialement
Benjamin
Le code de Frederic :
Sub testQuery()
fich$ = "D:ExempleTris.xls"
Feuille$ = "Feuil1"
QueryWorksheet fich, Feuille
End Sub
Public Sub QueryWorksheet(NomFichier$, Feuille$)
'Rob Bovey, mpep
'nécessite une référence à la librairie
'Microsoft ActiveX Data Object 2.x Library
Dim rsData As ADODB.Recordset
Dim szConnect As String
Dim szSQL As String
''' Crée la chaîne de connexion
szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=Excel 8.0;"
' La requête est basée sur le nom de la feuille. Ce nom
' doit se terminer par un $ et doit être entouré de crochets droits.
' Adapter ce nom à vos besoins
szSQL = "SELECT * FROM [" & Feuille & "$];"
Set rsData = New ADODB.Recordset
rsData.Open szSQL, szConnect, adOpenForwardOnly, _
adLockReadOnly, adCmdText
''' Vérifie qu'on a bien reçu des données
If Not rsData.EOF Then
Feuil1.Range("A1").CopyFromRecordset rsData
Else
MsgBox "Aucun enregistrement renvoyé.", vbCritical
End If
''' On nettoie pour finir...
rsData.Close
Set rsData = Nothing
End Sub
Bonjour Poy-Poy,
Pour avoir la ligne de titre de la plage de cellules, tu dois définir ta chaine de connection comme ceci :
Conn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=Excel 8.0;"HDR=No"
"HDR=No" No = pas de ligne d'étiquette
"HDR=Yes" Yes = Ligne d'étiquette
P.S. Et si tu avais le bonheur d'avoir le programme "Visual Basic" d'installer sur ta machine, tu pourrais à partir des
outils supplémentaires de la barre d'outils "contrôle" ajouter un contrôle du nom de : "Microsoft ADO Control Data,
Version 6.0 Oleb . L'avantage est que tu peux à partir des propriétés de ce contrôle généré des fenêtres ... et en
répondant à ces dernières, cela génère les chaînes de commande sans avoir besoin des saisir à la mimine ! Évidemment, il
est possible de tout récupérer la valeur de ces propriétés en VBA.
Attention, il ne faut pas le dire à tout le monde !
Salutations!
"poy-poy" a écrit dans le message de news:
Salut,
J'ai trouvé pourquoi je n'obtenais pas la première ligne, c'est parcequ'elle
est considéré comme une ligne de titre, j'ai trouvé dans un autre classeur de
frederic (j'aime bien son site:-) comment la récupérer.
Par contre, je suis toujours obligé de passer par une feuille intermédiaire
pour mon TCD. Alors qu'il existe certainement une technique pour lui mettre
directement les données en source...
Cordialement
BenjaminBonjour,
J'essaie d'utiliser le code de Frederic Sigonneau pour importer une feuille
entière à partir d'un classeur fermé. Je souhaiterais ensuite me servir des
données obtenues comme source d'un pivottable.
Je coince à 2 endroits. Premièrement le code me copie la feuille sans la
première ligne !! Deuxièmement, je n'arrive pas à mettre directement en
source de mon pivot les données obtenues. Je pensais remplacer
Feuil1.Range("A1").CopyFromRecordset rsData
par
ActiveSheet.PivotTableWizard SourceType:=xlexternal, SourceData:= rsdata
Mais cela ne marche pas...
Pourriez vous me donner un coup de main ? C'est la première fois que
j'utilise ADO donc je suis un peu perdu qui plus est.
Cordialement
Benjamin
Le code de Frederic :
Sub testQuery()
fich$ = "D:ExempleTris.xls"
Feuille$ = "Feuil1"
QueryWorksheet fich, Feuille
End Sub
Public Sub QueryWorksheet(NomFichier$, Feuille$)
'Rob Bovey, mpep
'nécessite une référence à la librairie
'Microsoft ActiveX Data Object 2.x Library
Dim rsData As ADODB.Recordset
Dim szConnect As String
Dim szSQL As String
''' Crée la chaîne de connexion
szConnect = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & NomFichier & ";" & _
"Extended Properties=Excel 8.0;"
' La requête est basée sur le nom de la feuille. Ce nom
' doit se terminer par un $ et doit être entouré de crochets droits.
' Adapter ce nom à vos besoins
szSQL = "SELECT * FROM [" & Feuille & "$];"
Set rsData = New ADODB.Recordset
rsData.Open szSQL, szConnect, adOpenForwardOnly, _
adLockReadOnly, adCmdText
''' Vérifie qu'on a bien reçu des données
If Not rsData.EOF Then
Feuil1.Range("A1").CopyFromRecordset rsData
Else
MsgBox "Aucun enregistrement renvoyé.", vbCritical
End If
''' On nettoie pour finir...
rsData.Close
Set rsData = Nothing
End Sub