Faire du copier coller a partir d'un tableau excel

minawghodhbane Messages postés 7 Date d'inscription samedi 26 juin 2010 Statut Membre Dernière intervention 23 décembre 2010 - 21 déc. 2010 à 17:33
minawghodhbane Messages postés 7 Date d'inscription samedi 26 juin 2010 Statut Membre Dernière intervention 23 décembre 2010 - 23 déc. 2010 à 13:05
bonjour a tous,

je suis entrain de développer une application de gestion d'entreprise
ma base de donnés est sur access 2003
j'utilise vb6.0
mon souci actuel est que j'ai besoin de copier des lignes a partir d'un tableau excel
dans une form ensuite les valider a partir d'un bouton dans ma base de données

ma question est peut on faire ca? et que dois je utiliser une data grid? une listebox?

s'il vous plait j'ai vraiment besoin de votre aide

3 réponses

marion8316 Messages postés 75 Date d'inscription mercredi 17 août 2011 Statut Membre Dernière intervention 27 septembre 2011 1
21 déc. 2010 à 17:42
Bonsoir,

Si j'ai bien compris, vous voulez reprendre des données (toutes ou une partie) dans un tableau Excel et les enregistrer dans votre base Access.

Si cette opération est pontuelle, il faut transformer votre fichier Excel en un fichier CSV et ensuite importer ce fichier dans Access (voir la doc d'Access).

Didier
0
minawghodhbane Messages postés 7 Date d'inscription samedi 26 juin 2010 Statut Membre Dernière intervention 23 décembre 2010
22 déc. 2010 à 09:40
bonjour marion 8316,

en fait non pas tout a fait j'explique :

l'utilisateur de mon application recoit tous les jours un fichier excel comprenant la production en tissu il contient le n° de rouleau la quantité par rouleau le n° de bon de livraison....

je suis entrain de créer une forme qui va lui permettre de copier certaines informations de ce fichier les coller sur la form et par simple click sur un bouton de les affecter dans la base de donné access.

jusque la il copiait collait directement dans la base access
la je ne veux plus qu'il y'ait accès a la base de donnés directement
je veux qu'il ait une interface graphique ( c'est ce que je suis entrain de realiser par vb6.0)lui permettant d'affecter la base de donnés par simple clic sur un bouton

j'espère que j'ai été claire cette fois
merci
0
minawghodhbane Messages postés 7 Date d'inscription samedi 26 juin 2010 Statut Membre Dernière intervention 23 décembre 2010
23 déc. 2010 à 13:05
bonjoua a tous,

j'ai trouvé la solution a mon problème
j'ai créé dans la form des textbox multilignes un pour chaque champ qui doit etre affecté dans ma base de donnés donc je peux actuellement copier plusieurs lignes d'un tableau excel et les coller dans chaque textbox de ma form
j'ai fait ensuite appel a la fonction split pour recupérer les lignes de ma form et les affecter dans ma base de donnés
cela fonctionne correctement sauf pour un champ "quantité" qui contient des nombres réels
quand les valeurs sont affectés dans le champ correspondant dans ma base de donnés la virgule est ignoré c'est a dire qu'au lieu d'enregistrer par exemple "15,2" il enregistre 152

je vous donne le code pour mieux comprendre :

Private Sub Command1_Click()

Dim lines() As String, lines1() As String, lines3() As String, lines4() As String, lines5() As String, i As Integer

lines() = Split(Text3.Text, vbCrLf)
lines3() = Split(Text5.Text, vbCrLf)
lines4() = Split(Text6.Text, vbCrLf)
lines5() = Split(Text7.Text, vbCrLf) ' c'est le tableau qui va contenir les qtés

Dim conconnection As New ADODB.Connection
Dim cmdcommand As New ADODB.Command

Dim rstrecordset As New ADODB.Recordset

conconnection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= C:\Documents and Settings\mounal\Bureau\conception partner\base de données\conception_BD_partner.mdb;Mode=Read|Write"

conconnection.CursorLocation = adUseClient
conconnection.Open

With cmdcommand
.ActiveConnection = conconnection
.CommandText = "SELECT * FROM [colisage reception] "
.CommandType = adCmdText
End With

With rstrecordset
.CursorType = adOpenStatic
.CursorLocation = adUseClient
.LockType = adLockOptimistic
.Open cmdcommand
End With

Dim cmdcommand2 As New ADODB.Command

Dim rstrecordset2 As New ADODB.Recordset

With cmdcommand2
.ActiveConnection = conconnection
.CommandText = "SELECT * FROM [cmnde approvisionnement]where [n°commande]='" & Combo1.Text & "' "
.CommandType = adCmdText
End With

With rstrecordset2
.CursorType = adOpenStatic
.CursorLocation = adUseClient
.LockType = adLockOptimistic
.Open cmdcommand2
End With

x = rstrecordset2![id cmnde appro]
For i = 0 To UBound(lines)

rstrecordset.AddNew
rstrecordset![bl fino3] = lines(i)
rstrecordset![n° cmnde appro] = x
rstrecordset!unité = Combo2.Text
rstrecordset![n° machine] = lines3(i)
rstrecordset![n° rouleau] = lines4(i)
If lines5(i) = "" Then
rstrecordset!quantité = Null
Else
rstrecordset!quantité = lines5(i)
End If
rstrecordset![fil1] = lines6(i)
rstrecordset![fil2] = lines7(i)
rstrecordset![etat matière] = Combo3.Text
rstrecordset![date bl fino3] = Text11.Text

rstrecordset.Update
Next

MsgBox (" Enregistrement Effectué avec succès ")
End Sub

s'il vous plait pouvez vous m'aider

merci
0
Rejoignez-nous