Utiliser Excel avec VB sur poste sans Excel - VB/VBA/VBS - Programmation
Marsh Posté le 05-04-2006 à 18:36:55
Salut matthieu67
Une sollution simple est d'installer sur les postes concernés excel viewer, tu ne peux pas modifier les données mais au moins les recupérer les afficher et les imprimer.
@+
Edit : je viens de relire ton post c'est bien envoyer des données dasn excel ... là ma solluce marchera pas... désolée pour laa faux espoir
Marsh Posté le 06-04-2006 à 10:06:40
Oui, heureusement que l'on peut installer Excel sur le même poste que VB.
Mais as-tu réellement besoin de VB ou bien VBA/Excel suffirait-il pour importer tes données dans Excel ?
Tes données sont à quel format ?
Marsh Posté le 06-04-2006 à 10:17:59
Je récupère des données dans un fichier texte (via SAS) que je dois mettre dans un fichier Excel pour la mise en forme. Le fichier Excel sera ensuite récupéré pour être lu sur un poste où il y a Excel.
Je pense donc créer un modèle de fichier Excel dans lequel il y aura une macro de mise en forme s'éxécutant à la première ouverture du fichier et qui réalise la mise en forme. Si je peux faire l'import des données dans la feuille Excel, c'est gagné!
Est ce que c'est plus clair comme ça?
Marsh Posté le 06-04-2006 à 14:30:14
L'import des données dans une feuille Excel est facile en général (c'est étudié pour dirait F.Raynaud) donc ta méthode me semble bonne.
Je ne sais pas en quoi consiste ta mise en forme, mais sache qu'un fichier texte tabulé s'ouvre directement dans Excel sans besoin de format d'importation.
Marsh Posté le 06-04-2006 à 15:48:36
Je sais que la méthode est simple. Le problème est que je n'ai pas Excel sur la machine en question. Je voudrai donc savoir sir VB va savoir trater l'insertion ou si il faut que j'ajoute des drivers d'Excel ou que j'installe totalement Excel (ce dernier cas est exclu car il va y avoir des problèmes de licence).
Marsh Posté le 06-04-2006 à 16:58:09
Heu dis, si j'ai compris tu as 2 postes.
Un sans Excel mais avec VB et qui fabrique un fichier texte.
L'autre avec Excel et qui doit mettre en forme les données du fichier texte.
Explique moi pourquoi tu dois faire ton traitement sur le poste sans Excel, alors qu'il suffit de placer ton fichier texte sur l'autre poste et de l'ouvrir sous Excel avec une macro de traitement ?
Un poste sans Excel ne fait pas d'excel, donc ne peut pas créer un fichier Excel. À moins que tu te lances dans le source d'un prog comme OOo.
Marsh Posté le 07-04-2006 à 09:42:55
En fait, c'est un peu plus compliqué que ça. J'ai une machine de PROD qui est censé faire tous les traitements (dont la mise en forme Excel). Ensuite, elle retourne le résultat de mon traitement dans un fichier Excel. Le problème est que les utilisateurs ne sont pas débrouillards et si la mise en forme Excel se fait sur leur poste, ils ne vont jamais y arriver.
Tu dis qu'un poste sans Excel ne peut pas créer de fichier Excel, mais si j'ai un modèle de fichier Excel, est ce qu'il existe une solution pour mettre des données dans une feuille?
Marsh Posté le 07-04-2006 à 11:47:07
La mise en forme peut se faire automatiquement sur le poste utilisateur (fichier/ouvrir/macro exécutée en auto/mise en forme effectuée).
Mais si tu penses que c'est insurmontable, je te laisse juge
Je ne sais pas si les drivers ODBC Microsoft pour Excel sont installés de base sans MS Office.
Il faut vérifier dans le paramétrage des sources ODBC, l'onglet "Pilotes ODBC" contient-il "Microsoft Excel Driver (*.xls)" ?
S'il est présent tu devrais pouvoir établir une connexion ODBC avec ton document.
Une autre solution serait d'installer le run-time de MS Access qui te permettrait - via référence dans ton VB - d'utiliser le DAO et d'accéder à ta feuille Excel.
J'ai pas trop d'autre idée.
Marsh Posté le 07-04-2006 à 12:10:41
À ma connaissance, tu peux pas gérer des classeurs Excel avec VB si tu n'as pas Excel sur le poste en question.
Mais c'est vrai que tu peux très bien leur faire une feuille avec un (gros) bouton "Récupérer les données" et faire une macro qui récupère les données et les met en forme.
Marsh Posté le 05-04-2006 à 14:29:29
Bonjour,
J'utilise VB sur une machine et je voudrai pouvoir envoyer des données dans un fichier Excel. Or, Excel n'est pas installé sur le poste en question. Est-ce que cette opération est possible? Y a-t-il des drivers à installer et si oui lesquels?
Merci de vos Lumières
Matthieu