Gil_
Messages postés18Date d'inscriptionsamedi 25 novembre 2006StatutMembreDernière intervention18 janvier 2007
-
15 janv. 2007 à 15:37
Gil_
Messages postés18Date d'inscriptionsamedi 25 novembre 2006StatutMembreDernière intervention18 janvier 2007
-
18 janv. 2007 à 19:48
Bonjour à tous,
J'utilise une base de donnée access dans laquelle j'extrait une table AS400 que je copie dans une table ACCESS. Je voudrais faire la même chose dans Excel et c'est la que j'ai un peu de mal ... Je ne sais pas comment lui indiquer de copier les données dans une feuille Excel.
Voici le code que j'utilise actuellement :
Sub Essai()
' variables paramètres
Dim Nas As String 'variable nom de l'As400
Dim Nus As String 'Variable nom utilisateur
Dim Cus As String 'Variable Code Utilisateur
' Les trois variables suivantes vont chercher leurs valeurs dans la table " Paramètres "
Nas = "XXXXX"
Nus = "XXXXX"
Cus = "XXXXX"
bibli = XXXXX
repert = XXXXX
soc = XXXXX
' Nous lançons la connexion.
Set CnnAs400 = CreateObject("ADODB.connection")
Set CnnAs400 = CreateObject("ADODB.connection")
CnnAs400.Open "provider=IBMDA400;data source=" & Nas & "", Nus, Cus
Do Until RsAs400.EOF
i = 1
For Each fld In RsAs400.Fields
Select Case i
Case 1
champ1 = fld.Value
Case 2
champ2 = fld.Value
Case 3
champ3 = fld.Value
Case 4
champ4 = fld.Value
Case 5
champ5 = fld.Value
Case 6
champ6 = fld.Value
Case Else
End Select
i = i + 1
Next fld
If Rsdb.State = 0 Then
' ouverture de la table et remplissage
Rsdb.Open "Table", Cnndb, adOpenKeyset, adlockoptimistic
End If
With Rsdb
' attribution des valeurs aux champs correspondants
Molenn
Messages postés797Date d'inscriptionmardi 7 juin 2005StatutMembreDernière intervention23 février 20117 15 janv. 2007 à 16:04
Tu veux juste copier une extraction de ta base données dans Excel ? Ne t'embêtes pas dans ce cas à écrire du code.
Dans ta base ACCESS, tu crées juste une requête avec les éléments dont tu as besoin (si tu veux la table complète, sans ajout/modification, tu peux mêm esauter cette étape).
Et dans Excel, tu fais Menu Données\Données externe\Importer les données et tu vas chercher ta base ACCESS. L'assistant te demande quelques options (qui correspondent en fait à ta ligne "CnnAs400.Open "provider=IBMDA400;data source=" & Nas & "", Nus, Cus" en ADO et hop, l'import est effectué.
Si ta table/requête est modifiée, il te suffit d'actualiser les données à partir du Menu Données toujours.
Si tu as besoin du code, utilise l'enregistreur de macro. Tout le boulot sera mâché.