Entré des données Excel dans access par un fo

yves 2008 Messages postés 8 Statut Membre -  
 yves 2008 -
Entré des données Excel dans access par un formulaire

Bonjour a tous

Je suis sur le projet d’une association en deux mots je vous explique le contexte

L’assoc me fournie un fichier Excel et je dois rentré les données dans access sans doublons

Dans access j’ai 3 tables

1 er table : nom prénom adresse etc
en faite c’est tout les renseignements des membres .

2 ème table : dons avec la somme la date

3 ème table : dons membres somme et date

et en gros je voudrais savoir si c’est possible d’ouvrir un fichier Excel a partir d’un formulaire et de regarder si le membre existe déjà :

- si il existe ajouter la date et la somme
- si il existe pas ajouter un nouveau membre avec tous les renseignements et la somme ,date
(j’ai pensée en faisant une requête sql mais je ne sais pas programmer en vba ca vient petit a petit mais c’est pas encore ca)

pourriez vous me guidez sur la programmation access vba pour m’orienter vers le code approprier et si quelqu’un peut me le programmer ça serait encore mieux
pour le code je n’en n’est pas car je ne sais pas comment m’y prendre
Merci de m’aider s’il vous plait
A voir également:

2 réponses

cbia Messages postés 18 Statut Membre
 
Bonjour Yves,
il faudrait savoir quel est ton besoin :
- nombres de lignes du fichier excel
- est-ce que c'est un développement à usage unique ou qui pourra être répété ?

En effet, ce n'est pas du tout sûr que l'option de développement d'un script VBA sur access soit la solution la plus rapide et la plus efficace...

Si c'est une opération à faire une seule fois, je pense que tu as intérêt a travaillé uniquement sur excel pour voir si les noms existent déjà dans ta base ou pas (ici peut-être une petite marco VBA excel)
puis travailler avec des systèmes de filtre
et faire des copier-coller vers Access.

Tu peux envoyer tes fichiers
A+
0
yves 2008 Messages postés 8 Statut Membre
 
bonjour et merci d'avoir pris du temps

il faudrait savoir quel est ton besoin :
- nombres de lignes du fichier excel
- est-ce que c'est un développement à usage unique ou qui pourra être répété ?


-infinie mais environ 500 lignes
-le fichier arrive tous les 15 jours et je voudrais que l'operation ce fasse en une seule fois avec un controle a chaque ligne
ex:
tableau excel

| nom et prenom | adresse | code postal et ville | dons | etc ....
1 valle pierre rue des accacias 81500 fias 100 €
2 galis laure rue des victoires 54400 eure 200 €

tableau access
| nom et prenom | adresse | code postal et ville | dons | date etc ....
255 valle pierre rue des accacias 81500 fias 100 € 18/05/2008
300 galis laure rue des victoires 54400 eure 200 € 23/05/2008

il y aurait un bouton parcourir sur une formulaire access qui appelle le fichier excel avec du vba il recupere le tableau excel fait une requete sql sur la table 1
controle de la premiere ligne
for i=1
if nom = nom255 de la table access then udapte nom255 dons = 100 et date
else insert | nom et prenom | adresse | code postal et ville | dons | date etc ....

next i
controle de la deuxieme lignes
je ne peux pas envoyer les fichiers mais j'ai bien expliquer mes fichiers
0
yves 2008
 
bonjour a tous j'ai avancé dans le projet mais le programme vba que j'ai m'ajoute des lignes et c'est tout

voici le code :

Private Sub Commande1_Click()

Dim oApp As Excel.Application
Dim oWkb As Excel.Workbook
Dim oWSht As Excel.Worksheet

Set oApp = CreateObject("excel.application")
Set oWkb = oApp.Workbooks.Open("C:\artc\exartc.xls")
Set oWSht = oWkb.Worksheets("Feuil1")
'premier ligne ou tu commence ton import
i = 2

'pour éviter les messages lors de l'ajout des enregistrements
DoCmd.SetWarnings False

'tant que la cellule n'est pas vide
While oWSht.Range("A" & i).Value <> ""

cSQL = "insert into [men] ( [prix] ) values (" & Chr(34) & oWSht.Cells(i, 2) & Chr(34) & ") where [men] ( [nom] )= (" & Chr(34) & oWSht.Cells(i, 1) & Chr(34) & ")"

'exécute la requète
DoCmd.RunSQL cSQL

i = i + 1
Wend

DoCmd.SetWarnings True
End Sub

voila ma petite avancé

maintenant j'aimerai comparé avant d'ajouter la ligne aidez moi svp
0