VBA Excel 2002 - AS400 chercher un fichier - VB/VBA/VBS - Programmation
Marsh Posté le 10-02-2006 à 09:23:15
En même temps, créer une source ODBC sur laquelle s'appuie ta requete de données externes Excel, c'est assez facile avec Client Access.
Marsh Posté le 10-02-2006 à 11:51:09
tegu a écrit : En même temps, créer une soruce ODBC sur laquelle s'appuie ta requete de données externes Excel, c'est assez facile avec Client Access. |
Salut tegu
merci pour ta réponse
En fait je ne suis pas informaticienne et je n'ai jamais créé de connection avec une base de données, ni déclenché d'action sur une base de moi-même. le fichier que je sors de l'as400 sont tiré d'un programme mis en place sur l'as400 et qui lance 5 requetes d'affilé...
J'ai un peu regardé comment me connecter à une base mais ça reste très flou et j'ai peur de faire des conneries sur la base (nous n'avons même pas de base test pour m'entrainer...)
je vais regarder un peu les références que j'ai à disposition et ce que j'arrive à en faire.
Si tu connais des sites expliquant ce genre de chose je suis preuneuse. J'ai déjà chargé le redbook en anglais d'ibm, leurs 400 et quelques pages sont un peu impressionnantes. j'ai aussi vu ce code sur vbfrance. A voir...
@+
Marsh Posté le 10-02-2006 à 13:38:29
Si tu vas dans le panneau de configuration de ton windows tu trouveras un accès aux sources ODBC.
Là tu peux créer des sources de plusieurs types, suivant si tu veux qu'elle soit partagée par tous les utilisateurs ou spécifiques...
Pour débuter essaie de créer une source système (onglet "Sources de données système" ) en cliquant sur le bouton "Ajouter"
Il te demande de choisir un pilote associé à la source : tu dois trouver dans la liste proposée le driver relatif à client access ("Client Access ODBC Driver" ). Tu le choisis et cliques sur "Terminer".
Là une fenêtre spécifique à ton pilote s'ouvre et chaque onglet te permet de paramétrer plus finement ta source. Les incontournables sont, à ma connaissance, le nom de ta source de données, le nom de ton serveur AS400 (il doit apparaître dans la liste déroulante), le profil de connexion et la case à cocher de "Conversion de données binaires (CCSID 65535) en texte". Tu peux dire si la source est en "lecture seule" ou d'autres modes, ou encore quelle est la bibliotheque par défaut pour accéder à l'AS400. L'emplacement de ces options peut dépendre de la version du driver; je ne préciserai pas, il faudra chercher un peu. Mais avec ça tu dois pourvoir créer ta source.
Ensuite, sous Excel, par les données externes ou la création d'une requete, tu peux choisir d'utiliser une source ODBC pour alimenter une plage de cellules. Bien sûr Excel te proposera de choisir les tables AS400 qui te conviennent.
J'espère que ces infos te permettront de démarrer.
Marsh Posté le 10-02-2006 à 14:56:35
Salut Tegu,
Merci pour toutes ces informations
je viens de fairele pas à pas que tu m'as indiqué et j'ai eu accés exactement comme j'en avait besoin au fichier L'enregistreur de macro viens de me permettre de voir les codes initiaux il ne me reste plus qu'à le placer convenablement dans mon fichier excel et de recommencer la manip des sources de données sur les ordis concernés en ajoutant le fichier de connection et le tour sera joué
En plus avec le lecture seul aucun risque d'endommager les données
question : en utilisant ActiveSheet.QueryTables.Add celà crée automatiquement la connection, prélève les données mais quant est-il pour la déconnection ?
merci d'avance
Marsh Posté le 10-02-2006 à 16:41:37
Je pense que la déconneXion est gérée automatiquement par Excel.
Mais savoir à quel moment elle s'effectue, je crains de ne pouvoir te répondre.
Marsh Posté le 10-02-2006 à 18:38:33
merci tegu
Marsh Posté le 09-02-2006 à 16:57:30
Salut à tous,
J'ai crée un bon fichier excel qui me retravaille un fichier précis extrait de la base de données AS400. Pour la partie sous excel pas de problème.
J'aimerai en fait automatiser la première partie du travail, c'est à dire : extraire les données de l'AS400.
Pour l'instant, j'utilise la macro complémentaire "Client Access" fourbie par IBM et je fais donc faire à l'utilisateur 2 manipulations. Sachant que j'ai quelques utilisateurs qui se plantent systèmatiquement de fichier à extraire de l'AS400, j'aimerai figer certaines données dans une macro qui lancerai automatiquement en non visible la macro complémentaire d'IBM.
J'ai essayé le bon vieil enregistreur de macro en me disant qu'il allait me dire ce que je fais mais j'obtiens une macro désespérément vide...
Peut-on faire ce genre de choses ? Ou vais-je devoir apprendre à créer moi-même une connection avec la base et faire récuperer le dit fichier en ecrivant tout moi-même ?
merci d'avance
---------------
Je bidouillle c'est sur... Mais j'essaye de faire en sorte que ça marche ;-)