Macros Excel : jusqu'ou peut on aller ? - VB/VBA/VBS - Programmation
Marsh Posté le 16-02-2003 à 10:28:20
HelloWorld a écrit : Salut a tous, |
tu pourrais donner un exemple de comment sont disposees les données ?
Marsh Posté le 16-02-2003 à 16:01:09
Y'a plusieurs lignes (une ligne par dépense (=facture)).
Sur chaque ligne, quelques infos :
- libellé (=> "EDF" )
- nombre total de mensualités (=> 2)
- mensulatite en cours (=> 1)
- somme totale a payer (=> 100? )
- somme actuellement payée (=> 50?)
Je compte lui proposer de rajouter un champ reste à payer.
Les champs 3 et 5 sont générés automatiquement par le logiciel à partir des mois précédents.
Y'a ensuite une colonne total qui le total de ce qui a à payer pour ce mois.
Y'a en fait 2 catégories de lignes (2 tableaux de lignes) avec chacune son sous total, le total etant donc la somme de ces 2 categories.
Faut aussi gérer les francs / euros.
En gros c'est ca.
Tout me parraissait facilement faisable en macros (total, francs / euros, augmenter les mensualites ...) en detectant la fin du mois et mettant à jour les champs => génération d'une nouvelle feuille.
Mais la ou ca se complique, c'est qu'il faut pouvoir accéder à n'importe quel mois (passé, mais aussi futur pour faire des simulations) et pouvoir modifier les mensualités et alors mettre à jour les mois qui suivent cette mis à jour.
Il faut donc un systeme central qui stocke toutes les valeurs, car si on calcule la valeur de chaque mois a partir du mois en cours (ce que je pensais faire), on ne peut pas retrouver les mensualités des mois passés qui ont payées et qui ne figurent donc plus.
De plus, si sur une feuille il modifie la valeur d'une mensualité, les autres feuilles n'en seront pas affectées, et il y aura donc des discordances entre les feuilles.
(ex : pour la feuille du mois de février, il modifie une mensualité de 50? à 60?. Sur cette feuille, tous les mois de juin à févier apparaisent avec 60? a payer. Si plus tard il ouvre la feuille de Janvier pour voir ce qu'il avait à payer, celle-ci affiche l'ancien 50? qui n'a pas ete mis a jour).
Un systeme central (BD) assure une cohérence des données et n'oblige pas l'utilisateur à précieusement conserver sa dernière feuille Excel pour générer son prochain mois.
Voilou voilou.
Marsh Posté le 17-02-2003 à 19:49:29
A mon avis tu ferais mieux de tout mettre sous une petite base de données.
Sinon tu peux assez facilement importer/exporter entre access et excel. Tu peux dans access lier une plage de données excel comme une table (cf. fichier\données externes\lier les tables)
Marsh Posté le 18-02-2003 à 00:35:06
Mettre dans une BD, c'est ce que j'ai choisi.
Mais une BD maison, en XML.
D'apres ce que j'ai compris, tu voudrais que je fasse le soft en Access avec possibilité d'afficher les résultats dans une feuille Excel.
Donc ca répond à ma question "Peut-on piloter Access depuis Excel". La réponse est "Non, faut faire l'inverse, bosser depuis Access et afficher dans Excel".
Mais Access, j'aime pas, en fait, j'aime pas la BD tout court.
Je préfère faire un prog en C++ avec une jolie interface.
Bon d'accord j'en ait bien chié pour arriver à enregistrer mes données dans un fichier Excel, mais ca m'a permis de découvrir COM/OLE. Je préfère batailler là dessus que sur SQL.
Marsh Posté le 18-02-2003 à 14:42:35
Il n'y avait comme suggestion que de mettre sous une BD.
Ensuite le reste était une tentative de réponse objective à tes questions.
Oui on peut traiter les données d'une feuille excel à travers access. Dans l'autre sens cela ne me parait pas vraiment possible. OUI on peut bosser depuis Access et afficher dans Excel. (A travers une table liée par exemple).
Sinon si tu arrives à obtenir le résultat voulu autrement c'est sympa .
Marsh Posté le 16-02-2003 à 00:42:11
Salut a tous,
je dois developper un petit soft de gestion.
Le gars bosse actuellement sous Excel et veut un soft qui lui automatise ce qu'il fait à la main (échelonner les paiements).
Je comptais rester sous Excel (ca m'aurais simplifié le boulot pour imprimer) et faire ca avec des macros, jusqu'a ce que je me rende compte qu'il faut en fait calculer chaque mois des valeurs qui dépendent des mois précédents.
Y'a donc une petite base de données la dessous.
Je lui ait dit que j'abandonnais les macros, mais je me demande quand meme s'il est possible de faire cela juste avec des macros. Je pense qu'avec Access il doit y avoir possibilité d'enregistrer une feuille Excel dans une BD depuis Excel lui meme et obtenir la liste des mois précédents et paiements en cours a gérer. Est-ce facilement réalisable ? Ou ai-je bien fait d'opter pour une mini BD maison en XML (car c'est vraiment simple comme infos à stocker) et un soft C++ qui s'interface avec Excel pour afficher les résultats ?
Car je me pose aussi cette question : faut-il une licence Office pour réaliser un tel soft avec des macros ?
Car avec devcpp et des libs open source, je suis peinard ...
Merci à vous.
---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite