Bonjour,


j'ai un petit soucis

VOila j'ai cette macro :

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
Qui me permet d'ouvrir Access, et d'éxécuter une macro qui est dans Access (qui s'appelle "ImportFeuilleExcel")


Cette macro me permet de travailler dans Access. Voici la macro dans Access :

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
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.

Après cette importation, j'ai une requete qui me permet d'exporter mon résultat :

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
Avant cette importation, comme vous le voyez (merci STarec), j'ouvre un formulaire appelé "FormWelcome", qui me permet justement de checker les problèmes.
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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
acApp.Run "ImportFeuilleExcel"
'quitter access
acApp.Quit
Sur le Run, ça m'importe le fichier et m'ouvre le formulaire, et quand j'exporte ça aille sur ce 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