Flux rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Problème d'automation Access-VBA-Excel

Chris, le vendredi 20 juillet 2001 à 14:11:58
Je suis stagiaire débutante en informatique et je voudrais transférer les résultats d'une requête sélection réaliser sous Access2000, dans une feuille Excel. J'obtient les résultats de la requête Access dans un formulaire auquel j'ai intégré un bouton associé à ce code, et censé réaliser l'automation.J'ai notamment des prob aux nivaux des paramètres (too few parameters. expected 2 !!)
Merci d'avance, c'est assez urgent
Voici le source:

Option Compare Database

Private Sub Commande22_Click()

On Error GoTo Err_Commande22_Click

Dim Champ1 As String
Dim Champ2 As String
Dim Champ3 As String
Dim Champ4 As String
Dim Champ5 As Integer
Dim Champ6 As Integer
Dim Champ7 As Integer
Dim Champ8 As Long
Dim Champ9 As Integer
Dim Champ10 As Long
Dim MonFichier As String
Dim db As Database
Dim Enreg As Recordset
Dim qry As QueryDef


'Attribue un nom à aux différents champs (remplit dans le formulaire)
Champ1 = [nom_oper]
Champ2 = [nom_outil]
Champ3 = [no_carte_outil]
Champ4 = [nom_access]
Champ5 = [qte]
Champ6 = [Vc]
Champ7 = [n]
Champ8 = [f]
Champ9 = [Vf]
Champ10 = [long]

'Défini le nom du fichier Excel
MonFichier = [no_type_fiche]

'Ouvre l'application Excel
Set MonXL = CreateObject("Excel.Application")
'Ceci initialise la variable et charge Excel en arrière plan
'Rend Excel visible...
MonXL.Visible = True
MonXL.UserControl = True

'Ouvre MonFichier
MonXL.Workbooks.Open FileName:="C:\Mes Documents\Chris\" & MonFichier

'Ouverture de la base de données "carte_outil2.mdb"
Set db = CurrentDb

'Ouverture des enregistrements de la requête "Rco" <----Rco étant le nom de la requête Access


db.QueryDefs("Rco").Parameters("Numéro de la fiche outil") = MonFichier <--- ici est signalé une incompatibilité de type
db.QueryDefs("Rco").Parameters("Numéro de la carte outil") = Champ3
Set qry = db.QueryDefs("Rco")

Set Enreg = qry.OpenRecordset(dbOpenDynaset)

Ligne = 1

'Premier enregistrement de la table "Rco"
Enreg.MoveFirst

'Ecriture dans le fichier sélectionné tant que la fin de la table de la requête n'est pas atteinte
Do While Enreg.EOF = False

' Place le contenu du champ "Opération d'usinage" dans la 1ère colonne de la feuille EXCEL
MonXL.Cells(Ligne, 1).Value = Enreg![nom_oper]

' Place le contenu du champ "Désignation outil" dans la 2ème colonne de la feuille EXCEL
MonXL.Cells(Ligne, 2).Value = Enreg![nom_outil]

' Place le contenu du champ "N° carte outil" dans la 3ème colonne de la feuille EXCEL
MonXL.Cells(Ligne, 3).Value = Enreg![no_carte_outil]

' Place le contenu du champ "Désignation accessoires" dans la 4ère colonne de la feuille EXCEL
MonXL.Cells(Ligne, 4).Value = Enreg![nom_access]

' Place le contenu du champ "Qté M/C" dans la 5ème colonne de la feuille EXCEL
MonXL.Cells(Ligne, 5).Value = Enreg![qte]

' Place le contenu du champ "Vc" dans la 6ème colonne de la feuille EXCEL
MonXL.Cells(Ligne, 6).Value = Enreg![Vc]

' Place le contenu du champ "n" dans la 7ème colonne de la feuille EXCEL
MonXL.Cells(Ligne, 7).Value = Enreg![n]

' Place le contenu du champ "f" dans la 8ère colonne de la feuille EXCEL
MonXL.Cells(Ligne, 8).Value = Enreg![f]

' Place le contenu du champ "Vf" dans la 9ème colonne de la feuille EXCEL
MonXL.Cells(Ligne, 9).Value = Enreg![Vf]

' Place le contenu du champ "Longueur outil" dans la 10ème colonne de la feuille EXCEL
MonXL.Cells(Ligne, 10).Value = Enreg![long]


'Ligne suivante
Ligne = Ligne + 1

'Enregistrement suivante
Enreg.MoveNext

Exit_Commande22_Click:
Exit Sub

Err_Commande22_Click:
MsgBox Err.Description
Resume Exit_Commande22_Click

Loop


Enreg.Close

End Sub

Répondre à Chris  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
vlepetit, le vendredi 20 juillet 2001 à 14:24:26
il faut absolument que tu ecrive du code ??

parceque il y a une fonction toute faite sous acces qui transfere tes donnees sous excel. et en plus tu peux facilement l'associer a un bouton...
Répondre à vlepetit

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Chris, le dimanche 22 juillet 2001 à 15:06:19
Le problème n'est pas que je dois écrire absolument du code mais tout doit être automatique à partir d'access, sans que l'utilisateur n'ait à "fouiller" et enregistrer les fichiers. De plus je dois pouvoir manipuler tous les enregistrements des différents champs issu de la requête , independement, pour pouvoir les mettre exactement ou je veux dans les differentes feuilles Excel selon cas, voir ignorer certain champ dans le cas de repetitions .. c'est pour ça que le code parait un peut compliqué, mais disons que c'est le seul moyen que j'ai trouvé pour pouvoir traiter ces enregistrements comme je veux par la suite (des case et if sont prevus par la suite..)
Si tu as des idees, ou des precisions à demander n hesites pas à me contacter. Merci d avance
Répondre à Chris
VBA Excel - Ecrire dans fichier txt (Résolu)Bonjour à tous Je dois exécuter 2 macros en vba Excel, - une qui ouvre un fichier text et incrémente un tableau de variable, là pas de problème (voici le code épuré pour info) --------------------- Private Sub Command6_Click() On Error GoTo... www.commentcamarche.net/forum/affich-4854458-vba-excel-ecrire-dans-fichier-txt
VBA excel formulaire de saisie - aide (Résolu)Bonjour, je suis débutant en VBA excel, et j'ai construis un formulaire de saisie (userform). Malheureusement je n'arrive pas à le finaliser... il me manque : a/ le numéro de transaction (TRANID) ne change pas lorsque j'appuie sur OK... www.commentcamarche.net/forum/affich-6740657-vba-excel-formulaire-de-saisie-aide
[VBA-EXCEL] Gestion version reference outlook (Résolu)Bonjour a tous ! Je suis nouveau sur le forum J'ai un niveau convenable en VBA Excel. J'ai develloper une application permettant de gerer des demandes d'inspection par l'intermediaire d'email. La version sur lequel tourne le... www.commentcamarche.net/forum/affich-3375027-vba-excel-gestion-version-reference-outlook
[VBA Excel] exporter cellules en couleur (Résolu)VBA Excel - importer / exporter des cellules en couleur bonjour ou bonsoir à toutes / tous ! J'ai un soucis ! Plusieurs jours/heures/aides pour essayer de faire quelque chose, j'explique ! J'ai un tableau excel, 3 feuilles, sur la... www.commentcamarche.net/forum/affich-2956148-vba-excel-exporter-cellules-en-couleur
Problème VBA-excel _Comparer deux listes (Résolu)Bonjour, Quelqu'un pourrait-il me filer un coup de main? Je souhaite comparer deux listes de données (une colonne de code avec une autre colonne de code) dans excel (en automatisant avec VBA)? Si les codes sont identiques:correct, si ils sont... www.commentcamarche.net/forum/affich-2971194-probleme-vba-excel-comparer-deux-listes
Cours gratuit d'access et excel (Résolu)Je suis un passionné de l'informatique,comment puis je avoir des cours gratuit access et excel en pdf. www.commentcamarche.net/forum/affich-4794400-cours-gratuit-d-access-et-excel
McAfee McAfee Total Protection for Small Business - ensemble completMcAfee McAfee Total Protection for Small Business - ensemble complet,,"Total Protection SMB" Anti-Virus, Anti-Spyware et FireWall pour postes et serveurs, Administration automatisée accessible par console Web, avec mise à jour 1 an, CD-ROM 5 postes pour W www.commentcamarche.net/guide-achat/mcafee-mcafee-total-protection-for-small-business-ensemble-complet-455916089-fiche-technique
Toutes les réponses pour « Problème d'automation Access VBA Excel »