A voir également:
- Importation automatique sous Access - VBA
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Message automatique thunderbird - Guide
- Logiciel de sauvegarde automatique gratuit - Guide
- Gmail libellé automatique - Guide
- Sommaire automatique word - Guide
8 réponses
Utilisateur anonyme
Modifié par baladur13 le 28/05/2013 à 17:59
Modifié par baladur13 le 28/05/2013 à 17:59
Access sait importer des fichiers issus d'un programme de gestion de projet, ou d'un tableur :
Les fichiers au format XLS ainsi que les tâches et ressources de microsoft Project au format xls. Tous les formats excel sont gérés par le même pilote ISAM;
Les importations de fichiers Excel dans access -quelque soit le nom du fichier changeant- se font à travers la création d'une table "par importation depuis Excel.
Si vous n'êtes pas une fervente passionné du SGB -Système de gestion de base de données- je vous suggère d'activer l'Assistance guide dans votre programme ACCESS qui va vous expliquer comment faire.
Il se trouve dans le menu "Outils" pour ACCESS 2003 par exemple. (pour les autres versions je ne sais pas)
Nom supprimé Modération CCM
Les fichiers au format XLS ainsi que les tâches et ressources de microsoft Project au format xls. Tous les formats excel sont gérés par le même pilote ISAM;
Les importations de fichiers Excel dans access -quelque soit le nom du fichier changeant- se font à travers la création d'une table "par importation depuis Excel.
Si vous n'êtes pas une fervente passionné du SGB -Système de gestion de base de données- je vous suggère d'activer l'Assistance guide dans votre programme ACCESS qui va vous expliquer comment faire.
Il se trouve dans le menu "Outils" pour ACCESS 2003 par exemple. (pour les autres versions je ne sais pas)
Nom supprimé Modération CCM
Bonjour Djerimay,
Je ne suis pas sûre d'avoir compris vos explications.
ça n'est pas l'importation en elle même qui me pose problème mais le fait que chaque mois, le fichier porte un autre nom.
En fait, j'ai un formulaire (j'aurais peut-être dû le préciser sur mon post), dans lequel je possède un bouton d'importation et d'autres pour exporter des données issues de mes requêtes.
C'est le code de ce bouton qui me pose problème. Je pensais au début créer une boucle qui va chercher le fichier portant le mois le plus haut (exemple 06 pour juin) mais le problème est que j'ai dans ce répertoire des données de 2012 (exemple 201206). Je doute que cela fontionne correctement.
Fleur
Je ne suis pas sûre d'avoir compris vos explications.
ça n'est pas l'importation en elle même qui me pose problème mais le fait que chaque mois, le fichier porte un autre nom.
En fait, j'ai un formulaire (j'aurais peut-être dû le préciser sur mon post), dans lequel je possède un bouton d'importation et d'autres pour exporter des données issues de mes requêtes.
C'est le code de ce bouton qui me pose problème. Je pensais au début créer une boucle qui va chercher le fichier portant le mois le plus haut (exemple 06 pour juin) mais le problème est que j'ai dans ce répertoire des données de 2012 (exemple 201206). Je doute que cela fontionne correctement.
Fleur
Oui c'est tout à fait cela.
Merci pour votre message ;)
J'avance tout doucement là. Je pense et j'espère qu'avec de l'acharnement je trouverais ;)
Fleur
Merci pour votre message ;)
J'avance tout doucement là. Je pense et j'espère qu'avec de l'acharnement je trouverais ;)
Fleur
Utilisateur anonyme
Modifié par baladur13 le 28/05/2013 à 17:59
Modifié par baladur13 le 28/05/2013 à 17:59
Voici les opérateurs logiques (codes VBA) les plus courants :
And, Or, Not, Xor
Qui sont utilisable via l'éditeur de script dans lequel vous avez écrit votre programme relié à votre touche de formlaire "Importer les données".
Il faut cliquer sur l'onglet de la page "Modules" puis double-cliquer dans la liste sur CODE GLOBAL pour ouvrir votre programme -appelé aussi module- dans l'éditeur VBA
A ce niveau, personne d'autre ne peut vous aider, car vous seul savez ce que vous avez écrit ou exécuter dans le script, que vous visualisez sur la page blanche en bas de l'écran.
Vous devez modifiez votre script avec les opérateurs que je vous ai donné pour que votre problème soit résolu.
Nom supprimé Modération CCM
And, Or, Not, Xor
Qui sont utilisable via l'éditeur de script dans lequel vous avez écrit votre programme relié à votre touche de formlaire "Importer les données".
Il faut cliquer sur l'onglet de la page "Modules" puis double-cliquer dans la liste sur CODE GLOBAL pour ouvrir votre programme -appelé aussi module- dans l'éditeur VBA
A ce niveau, personne d'autre ne peut vous aider, car vous seul savez ce que vous avez écrit ou exécuter dans le script, que vous visualisez sur la page blanche en bas de l'écran.
Vous devez modifiez votre script avec les opérateurs que je vous ai donné pour que votre problème soit résolu.
Nom supprimé Modération CCM
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
blux
Messages postés
26536
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
19 décembre 2024
3 317
13 mai 2013 à 15:32
13 mai 2013 à 15:32
Salut,
tu veux faire quoi au juste ?
Sélectionner un fichier via une boite de dialogue, regarder si un fichier a un nom en relation avec la date courante, autre chose ?
Qu'as-tu actuellement dans ton code ?
tu veux faire quoi au juste ?
Sélectionner un fichier via une boite de dialogue, regarder si un fichier a un nom en relation avec la date courante, autre chose ?
Qu'as-tu actuellement dans ton code ?
Bonjour Blux
Comme je ne sais pas quelle est la meilleur solution à vrai dire j'aurais aimé une boite de dialogue dans laquelle je rentre par exemple 1304 pour avril 2013 afn q'uil m'importe le fichier sous un nom précis, par exemple POavril.
Avec mon code actuellement je peux importer des données. Mais lorsque dans mon répertoire j'ai PO_1301, PO_1302... j'ai un message d'erreur m'indiquant qu'il ne trouve pas le fichier PO_1301. Par contre si dans ce répertoire j'ai que PO_1302 pas de soucis d'importation.
Quant à la boite de dialogue, je ne me suis pas encore penchée dessus...
Merci
Fleur
Comme je ne sais pas quelle est la meilleur solution à vrai dire j'aurais aimé une boite de dialogue dans laquelle je rentre par exemple 1304 pour avril 2013 afn q'uil m'importe le fichier sous un nom précis, par exemple POavril.
Avec mon code actuellement je peux importer des données. Mais lorsque dans mon répertoire j'ai PO_1301, PO_1302... j'ai un message d'erreur m'indiquant qu'il ne trouve pas le fichier PO_1301. Par contre si dans ce répertoire j'ai que PO_1302 pas de soucis d'importation.
Quant à la boite de dialogue, je ne me suis pas encore penchée dessus...
Merci
Fleur
blux
Messages postés
26536
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
19 décembre 2024
3 317
14 mai 2013 à 09:39
14 mai 2013 à 09:39
Peux-tu poster ton code d'importation actuel qu'on regarde ce qu'il faut modifier pour récupérer le fichier correspondant à ton choix (ou à la date courante de manière automatique si tu le souhaites) ?
Voici mon code, bon désolée je débute alors ce code n'est pas parfait...
Merci
Fleur
Private Sub Imp_Click() Dim dossier As String dossier = Dir("C:\Main\2013*.xls", vbDirectory) Do While dossier <> "" DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "POavril", dossier, True dossier = Dir Loop MsgBox "Import PO terminé! " End Sub
Merci
Fleur
blux
Messages postés
26536
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
19 décembre 2024
3 317
14 mai 2013 à 10:08
14 mai 2013 à 10:08
Et donc, on va y rajouter quoi :
- une boite de dialogue pour choisir un fichier dans le répertoire
- une boite de dialogue pour taper un nom que l'on va utiliser ensuite
- du code pour récupérer automatiquement un fichier à partir de la date
- ...
Sous quelle forme sont les noms des fichiers dans le répertoire ?
- une boite de dialogue pour choisir un fichier dans le répertoire
- une boite de dialogue pour taper un nom que l'on va utiliser ensuite
- du code pour récupérer automatiquement un fichier à partir de la date
- ...
Sous quelle forme sont les noms des fichiers dans le répertoire ?
Oui Djerimay, j'ai déjà avancé. J'ai mon code mais qui n'est ni parfait, ni optimisé, qui comporte encore une erreur d'exécution et qui n'effectue pas entièrement ce que je recherche mais je m'y approche doucement ;)
Je travaille encore dessus et le posterais si vraiment je bute toujours.
Merci encore.
Fleur
Je travaille encore dessus et le posterais si vraiment je bute toujours.
Merci encore.
Fleur
Bonjour,
Peux-tu poster ton code car j'ai le même problème que toi avec les noms de fichier qui changent de mois en mois?
Merci d'avance!
Peux-tu poster ton code car j'ai le même problème que toi avec les noms de fichier qui changent de mois en mois?
Merci d'avance!
Bonjour à tous,
Il faudrait savoir si vos noms "variables" de fichiers Excel répondent à une logique un peu précise ou bien sont plutôt aléatoires.
S'ils sont logiques, du genre : ABCD & Année & Mois , il est tout à fait possible d'écrire son nom avant la ligne d'importation, par exemple:
Sinon il est toujours possible de, soit changer le nom du fichier Excel de manière transitoire le temps de faire l'import de telle sorte que les fichiers à importer aient toujours le même nom, soit faire une copie provisoire du fichier avec ce nom, faire l'importation et envoyer le fichier provisoire à la corbeille.
Cela prend 30 secondes et évite tous les soucis.
Bonne suite.
Il faudrait savoir si vos noms "variables" de fichiers Excel répondent à une logique un peu précise ou bien sont plutôt aléatoires.
S'ils sont logiques, du genre : ABCD & Année & Mois , il est tout à fait possible d'écrire son nom avant la ligne d'importation, par exemple:
An = Year(Date) ' Donne l'année en cour
Mois = Month (date) 'donne le mois courant
NomFichierA_Importer = NomFichier & An & Mois
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "", _ NomFichierA_Importer, True
Sinon il est toujours possible de, soit changer le nom du fichier Excel de manière transitoire le temps de faire l'import de telle sorte que les fichiers à importer aient toujours le même nom, soit faire une copie provisoire du fichier avec ce nom, faire l'importation et envoyer le fichier provisoire à la corbeille.
Cela prend 30 secondes et évite tous les soucis.
Bonne suite.