Importation de Excel vers Acces en VB6

Résolu
Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   -  
Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

J'ai conçu une application en VB6, reliée à une BD en acces.

Je veux y ajouter une commande d'importation d'Excel vers acces, mais je ne sais pas comment procéder.

J'ai besoin d'importer les données suivantes 

N° d'ordre

Immeuble n°

Appartement n°

Propriétaire

Date de redevabilité

Pour remplir les Datafields correspondantes en acces (BD)

Merci d'avance pour toute aide.


Android / Chrome 111.0.0.0

A voir également:

5 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 583
 

bonjour, moi j'utiliserais les techniques utilisées ici, mais en lisant les valeurs dans Excel et en créant des enregistrements dans Access.

0
Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   2
 

Bonjour, 

Merci pour votre réponse. Je crois que je suis sur le bon chemin pour resoudre mon problème. Cependant il me reste un point, à savoir le nombre de lignes de la Table Informations (Excel), ce nombre (j) est important pour ma boucle.

Dim i, l, k as integer

Set xlw = xlo.WorkBooks.Open ("C:\Informations.xlsx")

xlw.sheets("Feuil1").Select

' determiner le nombre de lignes

J= xlw.Application.Rows.count

' teste pour savoir le nombre j

MsgBox "Nombre" & " " & j

Seulement le message me renvoi 

J= 1048576

alors que la table Informations contient 7 lignes

Merci d'avance pour toute correction de mon code

0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 583
 

Il est parfois pratique, dans la boucle, de s'arreter quand il n'y a plus de données, quand la cellule est vide.

Sinon, tu peux faire ceci, qui te donne le numéro de la dernière ligne utilisée dans la colonne A:

Cells(Rows.Count, 1).End(xlUp).Row
0
Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   2
 

Bonjour

Merci pour votre aide. 

0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 583
 

Si tu n'as pas d'autre question, peux-tu marquer la discussion comme résolue?

0
Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   2
 

Re bonjour.

Je n'ai pas oublié de marquer la question comme RESOLUE.

J'attends la fin de mon code d'importation, pour le transcrire ici, on ne sait jamais si quelqu'un d'autre en aura besoin. 

Encore merci

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   2
 

Bonjour

Je vous remis le code pour importer les données d'un tableau en Excel.

1 Déclaration générale

Dim xlo as New Excel.Application
Dim xlw as Excel.WorkBook
Dim CheminTableau as string
Dim Imm, Appt,Prop,Cin as string
Dim DateProp as Date

2 Boite de dialogue

On error goto nnn:

CmnDialog.Filter = "Toutes les extentions (*.xlsx)|*.*"
CmnDialog.ShowOpen

CheminTableau = CmnDialog.FileNale

nnn:

3 Importation

Dim i,j,k,l as Integer

xlw.Sheets("Feuil1").Select

j = Cells(Rows.Count, 1).End(xlUp).Row
l = 0
k = 0

For i = 1 to j step 1

l = l + 1

Imm = xlw.Application.Cells(l + 1, k + 1)
Appt = xlw.Application.Celks(l + 1, k + 2)
Prop = xlw.Application.Cells(l + 1, k + 3)
Cin = xlw.Application.Cells(l + 1, k + 4)
DateProp = xlw.Application.Cells(l + 1, k + 5)

If Imm = "" then 
GoTo Pass:
Exit sub
End if

'N° d'ordre

SQls ="Select * from TableParametres where (Naure = '"& CStr(Nature) &"')" & "Order by NOrdre asc"

If RS.State = adStateOpen then RS.Clode
RS.Open SQLs, DB, adOpenKeyset, adLockPessimistic

If RS![NOrdre]<>0 then
RS.MoveLast
NOrdre=RS![NOrdre]+1
Else
NOrdre=1
End if
RS Close

'Enregistrement

SQLs="Select * from TableParametres where ((Societe='"& CStr(VarSoviete) &"')" _
& "and(Operation='"& CStr(Operation)&"')and(Considtance='"& CStr(Consistance)&"')" _
& "and(Immeuble='"& CStr(Imm)&"')and(Appartement='"& CStr(Appt) &"')" _
& "and(Cin='"& CStr(Cin) &"'))"

If RS.State=adStateOpen then RS.Close
RS.Open SQLs, DB, adOpenKeyset, adLockPessimistic

If RS.EOF then
GoTo Oks:
Exit Sub
Else
GoTo Nos:
Exit Sub
End If

Oks:

RS.AddNew
RS![NOrdre]=NOrdre
RS![Nature]=Nature
RS![Operation]=Operation
RS![Societe]=VarSociete
RS![Immeuble]=Imm
RS![Appartement]=Appt
RS![Proprietaire]=Prop
RS![cin]=Cin
RS![DatePropriete]=DateProp
RS.Update
RS.Close

Nos:
Pass:
Next i
0