voix_off
Messages postés10Date d'inscriptionmercredi 23 mars 2005StatutMembreDernière intervention 6 juin 2005
-
6 juin 2005 à 11:11
gwaheb
Messages postés9Date d'inscriptionjeudi 15 mai 2008StatutMembreDernière intervention18 juin 2011
-
18 juin 2011 à 02:03
Bonjour à tous !
J'écris ici car j'ai un gros souci ! Je suis débutant en VB, j'ai réalisé quelques petites macros, et là, dans le cadre d'un stage, je dois réaliser une macro sous EXCEL qui fasse la chose suivante :
- récupérer des données sous Excel, les envoyer dans une base de données ACCESS existante
- appliquer une requête (qui existe déjà) à ces données
- envoyer le résultat de cette requête vers une nouvelle feuille Excel
Je n'ai aucune idée de la manière dont il faut procéder pour commencer.
Merci de votre aide !
youpiyoyo
Messages postés539Date d'inscriptionvendredi 6 juin 2003StatutMembreDernière intervention14 juillet 2010 6 juin 2005 à 14:36
ou lala 347634 Lochan tu es tres loin de la solution, deja il a besoin d'exporter de EXCEL vers ACCESS et po l'inversse, d'autre part, si tu es dans vba excel cells(ligne,col) ="kelke chose suffit" bon c vrai apres tu as des formules etc..mais apres tu as l'aide et l'enregistreur de macro pour t'aider....
le plus simple c utilisé la lib DAO, ADO, tu trouveras des trucs dessus sur google, ou yahoo..
braf il fo ke tu ailles kan meme activer la lib dans "outils" --> "references" --> "Microsoft DAO 3.6 object library"
bon chez moi c du 3.6 mais tu as d'autres version + recentes... apres si tu utilises ADO choisis ADO, moi je vé juste t'expliker le DAO, je penses ke c plus simple pour toi:
bon ds cette lib tu as plein de fonction ki vont te permettre d'exporter dans des bases, executer des requetes etc...
commence par:
pour importer de access
Dim db As Database
Dim Rs As Recordset
Dim Ws As Object
ouvrir:
Set db = Workspaces(0).OpenDatabase(Path, ReadOnly:=True)
Set Rs = db.OpenRecordset(Recordset2Open)
tu trouveras des éléements sur msdn pour comprendre comment ca fonctionne
si tu as besoin d'importer CopyFromRecordset
exporter:
Un objet Recordset représente les enregistrements d'une table
Set Db1 = DBEngine.OpenDatabase("C:\tabase.mdb")
Set Rs1 = Db1.OpenRecordset("taTable", dbOpenDynaset)
mettre elem ds table
With Rs1
.AddNew
.Fields(0) = ...
...
.Update
fé des boucles des trucs enfonction de ton projet
executer une requete de excel:
chSQL = "SELECT ..."
Db1.Execute chSQL
executer une existante
Set qdf = Db1.QueryDefs("requete")
qdf.Execute
qdf.Close
bon la réponse n'est pas encore assez complete mais je peux pas tout faire pour toi, et la je commence a etre gavé d'ecrire, donc j'espere ke ca va t'aider