Importation de Excel vers Acces en VB6
RésoluLenouveauapprenti Messages postés 306 Date d'inscription Statut Membre Dernière intervention -
- Importation de Excel vers Acces en VB6
- Liste déroulante excel - Guide
- Vb6 - Télécharger - Divers Utilitaires
- Mise en forme conditionnelle excel - Guide
- Acces rapide - Guide
- Word et excel gratuit - Guide
5 réponses
bonjour, moi j'utiliserais les techniques utilisées ici, mais en lisant les valeurs dans Excel et en créant des enregistrements dans Access.
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionBonjour
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