Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Import d'une table SAS vers Excel via VBA-Excel

sofisaas

XLDnaute Nouveau
Bonjour à tous,

Je sollicite votre aide pour un petit problème que je rencontre : je cherche à exporter une table SAS (un logiciel de statistiques) qui s'appelle "Delai", et qui se trouve dans la librairie rwork de SAS, vers un doc Excel en utilisant VBA-Excel.
J'ai récupéré un code et je l'ai adapté à ma situation mais j'ai au moins une erreur que je ne sais pas résoudre.

Voici le code :
Code:
Sub import_SAS_Excel()
 
'Declare variables
Dim obConnection As ADODB.Connection
Dim obRecordset As ADODB.Recordset
Dim i As Integer
 
Set obConnection = New ADODB.Connection
obConnection.Provider = "sas.LocalProvider.1"
obConnection.Properties("Data Source") = rwork
obConnection.Open
 
Set obRecordset = New ADODB.Recordset
obRecordset.Open delai, obConnection, adOpenDynamic, adLockReadOnly, ADODB.adCmdTableDirect
 
 
 
'format the cells to text
Range(Cells(1, 1), Cells(obRecordset.RecordCount + 1, obRecordset.Fields.Count)).NumberFormat = "@"
 
'add header row
Cells(1, 1).Select
 For i = 0 To obRecordset.Fields.Count - 1
 ActiveCell.Offset(0, i).Value = obRecordset.Fields(i).Name
 Next i
 
'add detail rows
obRecordset.MoveFirst
Cells(2, 1).Select
ActiveCell.CopyFromRecordset obRecordset
 
obRecordset.Close
Set obRecordset = Nothing
obConnection.Close
Set obConnection = Nothing
 
End Sub

J'ai le message d'erreur à la ligne :
Code:
obRecordset.Open delai, obConnection, adOpenDynamic, adLockReadOnly, ADODB.adCmdTableDirect

Le message d'erreur est:
Erreur d'exécution '3001'
Les arguments sont de type incorrect, en dehors des limites autorisées, ou en conflit les uns avec les autres

Pouvez-vous m'aider? Tout petit conseil sera vraiment le bienvenu.

merci !
 

sofisaas

XLDnaute Nouveau
Re : Import d'une table SAS vers Excel via VBA-Excel

Merci Pierre Tatiak pour ta réponse, j'avance pas à pas ainsi.

J'ai donc essayé le code proposé et cette fois j'ai le message d'erreur suivant, toujours portant sur la même ligne de code :

Erreur d'exécution '-2147467259 (80004005)':
Une erreur propre au fournisseur est survenue
(CODADAtaSource::EngineTypeFromEngineCode() : Unknown engine code).

Merci d'avance pour vos conseils...
 

sofisaas

XLDnaute Nouveau
Re : Import d'une table SAS vers Excel via VBA-Excel

J'ai testé également la ligne de code suivante :
Code:
   With obRecordset
    .Open Source:=requete, ActiveConnection:=obConnection
    End With

mais j'ai toujours un message d'erreur qui est cette fois :
Erreur d’exécution 80004005
le fournisseur local ne prend actuellement pas en charge le traitement SQL.

Merci pour vos réponses !
 

Discussions similaires

Réponses
6
Affichages
419
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…