Bonjour,
j'ai un petit soucis
VOila j'ai cette macro :
Qui me permet d'ouvrir Access, et d'éxécuter une macro qui est dans Access (qui s'appelle "ImportFeuilleExcel")
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Sub TravailDansAccess() DefVariablesPublic Dim acApp As New Access.Application 'demarrer access Set acApp = New Access.Application 'ouvrir la base acApp.OpenCurrentDatabase (CheminFichiers & "\bd2.mdb") 'exécuter la macro dans Access acApp.Run "ImportFeuilleExcel" 'quitter access acApp.Quit Set acApp = Nothing End Sub
Cette macro me permet de travailler dans Access. Voici la macro dans Access :
Donc cette procédure me permet de supprimer tous les éléments de ma table, puis de la réremplir en importer une feuille Excel que j'ai précédemment créé (c'est le fichier excel de départ en fait), et de checker les problèmes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Sub ImportFeuilleExcel() 'Empêche les demande de confirmation de s'afficher CheminFichiers = ParentDir(Application.CurrentDb.Name) 'MsgBox CheminFichiers DoCmd.SetWarnings False 'Efface le contenu de la table DoCmd.RunSQL "DELETE * FROM ExtractWithGoodTitle;" 'importe la table excel DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "ExtractWithGoodTitle", CheminFichiers & "\Classeur_TestsMacros.xls", True, "ExtractWithGoodTitle!" DoCmd.OpenForm "FormWelcome" End Sub
Après cette importation, j'ai une requete qui me permet d'exporter mon résultat :
Avant cette importation, comme vous le voyez (merci STarec), j'ouvre un formulaire appelé "FormWelcome", qui me permet justement de checker les problèmes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Sub ExportFeuilleExcel() CheminFichiers = ParentDir(Application.CurrentDb.Name) If Dir(CheminFichiers & "\Value_Contract.xls") = "Value_Contract.xls" Then Kill (CheminFichiers & "\Value_Contract.xls") End If MsgBox CheminFichiers DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Check_value_contract", CheminFichiers & "\Value_Contract.xls", True DoCmd.SetWarnings True
En fait, c'est un formulaire de bienvenue, ou j'ai le choix entre checker les problèmes, où j'ai alors d'autres formulaire qui s'ouvrent, justmeen tpour checker, et un bouton RUn, qui me permet de faire le report, et donc d'exporter mon fichier Excel par la macro juste au dessus.
En fait au final les étapes :
- importer ma feuille Excel
- Corriger les erreurs de ma feuille Excel que j'ai importé (car en fait je dois checker des problèmes)
- une fois le check fini, exporter le résultat de ma requête dans un classeur Excel et continuer a travailler sur mon fichier Excel
Mon problème vient après l'importation : je voudrais que le formulaire apparaisse en vue (je pense que vous avez compris que je pilote Access depuis Excel), que je puisse checker, et quand j'ai fini ça, j'exporte mon résultat et ça me "relance" dans ma macro Excel, pour que ça continue le travail.
Là, ce que ça me fait, ça m'importe la feuille Excel comme je veux, ça c'est bon, mais ça m'ouvre pas le formulaire enfin si je fais du pas à pas, ça me l'ouvre, mais je ne peux pas accéder à celui-ci, et je peux pas demander à l'utilisateur de faire du pas à pas donc je voudrais que le formulaire s'affiche, et mette en fait une espèce de pause dans le code Excel, et quand j'exporte le fichier, que la macro Excel reprenne. Cad :
Sur le Run, ça m'importe le fichier et m'ouvre le formulaire, et quand j'exporte ça aille sur ce acApp.Quit
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 acApp.Run "ImportFeuilleExcel" 'quitter access acApp.Quit
J'espère avoir été assez clair
PS : Ce post en fait, fait référence a celui-ci, que j'avais déja créé et résolu :
http://www.developpez.net/forums/sho...d.php?t=506253
Merci en tout cas par avance pour votre aide
Partager