begin process at 2012 02 15 19:27:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

VBA

 > 

importtaion d'une table excell vers access par vba


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

importtaion d'une table excell vers access par vba

jeudi 10 juin 2004 à 16:18:13 | importtaion d'une table excell vers access par vba

ahlam302

je travaille dans une application access
j'ai une table excel et je veux l'importer à l'access mais cette derniere comprend trois table déja existé dans l'application je sais pas quoi faire j'attend vos reponse merci
jeudi 10 juin 2004 à 17:29:21 | Re : importtaion d'une table excell vers access par vba

carnez

bonjour,

no problemo. Volà tout le code

Sub achat()

' ********************************************************************************
' recherche fichier excel sur le réseau par l'exporateur
' remplissage d'une table Access à partir des données du fichier Excel
' ********************************************************************************


Dim Fd As FileDialog
Dim Fdfs As FileDialogFilters
Dim Fdf As FileDialogFilter

Dim VrtSelectedItem As Variant
Dim test As Variant
' variables de la table tab_prix_achat_budget
Dim Cnn_db As New ADODB.Connection
Dim Rst_db As New ADODB.Recordset
' ouverture de la connection au fichier EXCEL
Dim Cnn_ex As New ADODB.Connection
Dim Rst_ex As New ADODB.Recordset


' choix du fichier Excel par l'explorateur
Set Fd = Application.FileDialog(msoFileDialogOpen)
Set Fdfs = Application.FileDialog(msoFileDialogOpen).Filters ' collection des extensions
Fdfs.Clear ' destruction de la liste des extensions
Set Fdf = Fdfs.Add("Excel", "*.xls", 1) ' ajout de la seule extension Excel

' récupération du nom et du chemin du fichier sélectionné
With Fd
.AllowMultiSelect = False ' multisélection interdite
If .Show = -1 Then
path = .SelectedItems(1)
Else
'The user pressed Cancel.
Exit Sub
End If
End With

Set Fd = Nothing


'ouverture de la connection à la table "tab_prix_achat_budget" ACCESS
Set Cnn_db = CurrentProject.Connection
Rst_db.Open "tab_prix_achat_budget", Cnn_db, adOpenKeyset, adLockOptimistic

' création de la zone nommée dans le fichier Excel
definition_zone


'ouverture de la connection au fichier EXCEL
With Cnn_ex
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Extended Properties").Value = "Excel 8.0"
.Open path
End With

' lecture du fichier EXCEL
Set Rst_ex = New ADODB.Recordset
Rst_ex.Open "nom_de_zone", Cnn_ex, , , adCmdTable

Do Until Rst_ex.EOF
' ajout dans la table access
With Rst_db
If IsNumeric(Rst_ex.Fields("Artcode")) Then ' si le code article est renseigné
.AddNew Array("code article", "prix achat budget 1er tri", "prix achat budget 2ème tri", "prix achat budget 3ème tri", "prix achat budget 4ème tri"), _
Array(Rst_ex.Fields("Artcode"), Rst_ex.Fields("1 trim"), Rst_ex.Fields("2 trim"), Rst_ex.Fields("3 trim"), Rst_ex.Fields("4 trim"))
.Update
End If
End With

Rst_ex.MoveNext ' ligne suivante du tableau EXCEL
Loop


' fermeture des connections
Cnn_ex.Close
Cnn_db.Close

End Sub
Sub definition_zone()

' **************************************************************
' création d'une référence de zone dans un tableau Excel
' **************************************************************


Dim Feuille, Classeur As Variant
Dim Xls As Excel.Workbook
Dim colonne As Integer
Dim ligne As Integer
Dim ligne_début As Integer
Dim colonne_début As Integer


Set Xls = GetObject(path) 'ok
Xls.Application.Visible = True 'ok
Xls.Application.Windows(1).Visible = True 'ok

Xls.Application.ActiveWorkbook.Activate 'ok
Classeur = Xls.Application.ActiveWorkbook.Name 'ok
' nom de la feuille du classeur
Feuille = Xls.Application.Sheets(1).Name
' positionnement sur la dernière cellule du tableau
Xls.Application.Worksheets(1).Cells(1, 1).Select 'ok
Xls.Application.ActiveCell.SpecialCells(xlLastCell).Select 'ok
' initialisation du début
ligne_début = 1
colonne_début = 1
' numéro de colonne et de ligne de la dernière cellule
colonne = Xls.Application.ActiveCell.Column 'ok
ligne = Xls.Application.ActiveCell.Row 'ok
' composition de la référence de la zone à créer
Feuille = Feuille & "'!L" & ligne_début & "C" & colonne_début & ":L" & ligne & "C" & colonne ' ok
' création de la zone de référence
Xls.Application.ActiveWorkbook.Names.Add Name:="nom_de_zone", RefersToR1C1:= _
"='" & Feuille 'ok

Set Xls = Nothing

End Sub

Il te suffit d'ouvrir autant de Rts_db que tus de tables access pour, suivant les champs de Rst_ex alimenter l'une ou l'autre des tables Access


Colibri
jeudi 15 juillet 2004 à 16:42:08 | Re : importtaion d'une table excell vers access par vba

cap0002004

J'ai essayé ton code:

erreur de compilation:
il me sort type défini par l'utilisateur non défini

c probablement un controle que j'ai pas rajouter. mais je ne sais pas lequel?!


Cette discussion est classée dans : vba, access, table, excell, importtaion


Répondre à ce message

Sujets en rapport avec ce message

access + vba.... nbre de lignes de données ds une table [ par Nourssette ] Bonjour J'aimerai savoir s'il existe une ligne de code en vba qui permet de récupérer le nombre de lignes de données saisies dans une table...aidez mo Génération de graphique en vba access [ par MrT ] Bonjour,Je cherche à générer des graphiques de tous types(histogramme, camembert, courbes, nuages de points) à partir des données d'une table access. VBA ACCESS : récupérer les champs d'1 table [ par Ogoula ] Salamalekum !je cherche à créer un bout de programme en VBA pour remplacer une chaîne de caractère par une autre dans tous les enregistrements sur une ajout d'enregistrement dans une table access [ par simfred2201 ] BonjourJe suis relativement novice en VBA et je cherche a ajouter des enregistrements dans une table via VBA a partir d'un formulaireQuelqu'un pourrai test d'existance d'une table sous ACCESS en VBA [ par SAYSAY03 ] Say-Say 03 Y a t'il une fonction sius access qui test l'existance d'une table de nom ( toto )?si oui que retourne t'elle en valeur si vrai ou si fauxm existence d'une table access en vba [ par lebpoussin ] Dans mon application access j'aimerai verifier l'existence d'une table dans la bdd. Malheuresement je ne connai pa le code vba pour réaliser cette act VBA - ACCESS [ par snouki ] Bonjour, J'ai une application en ACCESS 2000, j'ai plusieurs tables dans cette application. Mais je dois importer une table externe (que je ne dois pa access vba recherche de donnee ds une table [ par yafisab ] Bonjour,je débute avec la programmation en vba....g une question:je dispose d'une table contenant deux champs, et voudrais savoir les lignes de codes importation dune table excell a une table access [ par ahlam302 ] je veux importer une table excell et mon problème que quand je fais l'importation avec le macro transferer objet ca marche pas et il me donne un messa supprimer une table dans une autre base Access (vba) [ par madmax34 ] Hello, je cherche une commande vb me permettant de supprimer une table attachée. Je précise, pas le lien mais bien la table situé dans une base distan


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,108 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales