Access Mix Excel et Access

Calvus

XLDnaute Barbatruc
Bonsoir à tous,

Après avoir écumé internet et ce forum pendant 3 jours, je suis un peu dépité..

J'ai un fichier excel, qui a tendance à devenir gros mais qui me donne entière satisfaction quant à son utilisation, ou presque.
Ce fichier me sert à gérer des tableaux de prospects, clients, commandes, commandes fournisseurs, gestion de stock livraisons et factures. En passant par quelques outils d'analyse.

Là où l'ergonomie n'est pas parfaite, c'est sur le partage du fichier en réseau, et sur la gestion de plusieurs commandes simultanées et donc la gestion de stock.
Les recherches, sur d'anciennes occurrences ne sont pas non plus les plus faciles (par exemple les anciennes factures, où il faut que j'ouvre le classeur d'archives et cherche manuellement toutes les factures pour un client)

Je me demandais donc s'il n'était pas opportun d'utiliser Acces.
En tout cas pour certaines tâches.
En revanche, vu le temps que m'a pris la construction de ce fichier, comprenant des dizaines de macros et une quarantaine de feuilles, je n'ai pas envie de devoir tout reconstruire, surtout que mes connaissances d'Access sont assez limitées et que l'utilisation d'excel et son ergonomie conviennent parfaitement à mon "désir visuel et de traitement".

Pensez vous donc que je pourrais mixer le travail des 2 logiciels afin d'obtenir ce que je souhaite ?
Par exemple en continuant à travailler comme je le fais, mais en intégrant une macro qui irait alimenter la base de données Access afin d'y retrouver toutes mes informations ?

J'ai lu sur le net plusieurs articles incitant à le faire, mais sans l'explication du comment ou du pourquoi.

J'espère que quelqu'un parmi vous pourra m'apporter un début de réponse.
Chris peut être qui semble calé dans ces 2 domaines (et qui m'avait conseillé au début de mon projet encore vague... ;) )

En vous remerciant
 

chris

XLDnaute Barbatruc
Bonjour

Il est toujours délicat de combiner 2 applications. De plus une bonne base de données doit respecter certaines règles qui sont assez différentes de ce qu'on fait pour gérer des données dans un tableur.

Il faudrait plus d'infos pour répondre précisément : voir un extrait du classeur, les principes de fonctionnement, ce que tu envisages concrètement comme répartition Excel/Access...
 

Calvus

XLDnaute Barbatruc
Bonsoir,

Voici une partie du classeur en question.
J'ai supprimé des feuilles inutiles ici ainsi que les codes.

Le fichier fonctionne comme suit : (en théorie puisque les macros sont inactives)
  • Des quantités sont entrées en Col F de la feuille Commande Clients
Une macro valide, insère des nouvelles colonnes et envoie la commande vers la feuille BDC.
  • Sur la feuille BDC on valide la commande.
Les renseignement sont enregistrées dans les feuilles Comm Stock, A Commander et Ventes (partie droite), et création d'une ligne en feuille Etat des Commandes ainsi qu'une ligne en feuille Facturation.
Un classeur, Historique des commandes enregistre la commande sur une nouvelle feuille.
Un Pdf est créé.
De cette feuille on peut également importer une commande existante ou en modifier une.
  • La feuille BL permet d'importer une commande afin de la valider.
Validation, donc sortie du Stock, inscription des mouvements de stock, renseignements des feuilles Etat des Commandes, Facturation, Stock Tampon.
Inscriptions en BL Temp en cas de validation partielle (livraison partielle).
Un classeur, Historique des BL enregistre la commande sur une nouvelle feuille.
Un Pdf est créé.
De cette feuille on peut importer des commandes, des BL, générer des Bl temporaire, etc...
  • La feuille Facture Pro Forma permet d'importer les BL afin de générer les factures.
Validation, renseignements des feuilles Etat des Commandes, Facturation, Ventes, Paiements.
Un classeur, Historique des Factures enregistre la commande sur une nouvelle feuille.
Un classeur de la facture est créé.
Un Pdf est créé.

Le principe de fonctionnement est à peu près le même pour les fournisseurs, même s'il reste plus simple dans son fonctionnement.

Ce que j'aimerais donc :

Avoir des fiches pour mes clients, qui peuvent avoir plusieurs adresses.
Avoir des formulaires pour visualiser mes factures d'un coup d’œil. (Peut être dois-je créer un tel formulaire dans excel)
Des requêtes pour obtenir le solde des paiements (j'imagine que cela doit pouvoir se faire par TCD, j'ai enlevé les miens de ce classeur exemple)
Savoir combien un client a acheté de telle ou telle référence.
Faire une recherche simple sur un client ou un produit...etc

Egalement, que plusieurs utilisateurs (3 pour le moment) puissent entrer des commandes simultanément, ou au moins sur un réseau si l'action ne peut être simultanée.

Et la liste pourrait être encore assez longue.

C'est pourquoi j'ai pensé Access.
C'est ce genre de liens qui m'y a fait penser.

Mutzik, je ne connais pas MS SQL, mais s'il faut s'y mettre... Et pourquoi celle là plutôt qu'Access ?

Chris, qu'en pense tu ? Faut il mieux rester sur Excel ?

J'espère que mon fichier et mes explications seront assez claires, sinon j'en apporterai d'autres.

Merci et à bientôt.
 

Pièces jointes

  • Liaison Access.xlsx
    3.1 MB · Affichages: 137
Dernière édition:

Calvus

XLDnaute Barbatruc
Bonsoir à tous,

Vu le succès de mon dernier message, qui a plus d'un an maintenant, je reviens à la charge ! :)

Avec une autre question, puisque mon sujet ne semble pas vous inspirer.

J'ai réussi, facilement grâce à l'assistant, à lier une de mes feuilles Excel à Access.
Excel est maître dans ce cas, ce qui me convient parfaitement.

Mais, c'est là le hic, j'aimerais lier un second classeur...Et là, bim ! Veut pas !

Alors est ce possible, ou non ?

Merci, et bonnes fêtes de fin d'année.:)
 

chris

XLDnaute Barbatruc
Bonjour

La logique des tes onglets n'est pas celle d'une base données : l'exploitation par requêtes va être compliquée.

Pour lier des données Excel, même si 2010 et suivants sont plus permissifs, il y a des règles concernant la structure. Sans exemple de l'onglet concerné, difficile de savoir ce qui coince.

Concernant ton post d'il y a un an, tu avais posté un classeur de plus de 25 onglets avec une logique très particulière.
Il aurait fallu des heures d'analyse, de mise à plat et d'échanges pour définir ce qui pouvait/devait être restructuré et la logique associée. Pas vraiment le rôle d'un forum...
 

Calvus

XLDnaute Barbatruc
Bonjour Chris,

Je pourrais aujourd'hui répondre plus précisément à des des questions concernant excel, car mes connaissances de ce logiciel ont progressé. Il n'en est pas de même avec Access. Il m'est donc difficile d'exprimer mes besoins, ne sachant pas exactement ce dont Access est capable, et dans quel cas l'utiliser.

Il aurait fallu des heures d'analyse, de mise à plat et d'échanges pour définir ce qui pouvait/devait être restructuré et la logique associée. Pas vraiment le rôle d'un forum..
Je t'aurais apporté les explications nécessaires avec plaisir, mais sans réponse, j'ai laissé tomber...
D'autre part, c'était une réponse à une autre discussion que nous avions eue auparavant : Ici.
J'aurais probablement dû la rappeler.
J'ai donc voulu apporter le maximum d'informations, mais comme on dit, qui peut le plus peut le moins..

Pas vraiment le rôle d'un forum...
Je le sais pour participer activement à ce forum et apporter humblement mon aide quand je le peux.
Je ne demande pas qu'on fasse le travail à ma place, j'avais simplement besoin d'être aiguillé sur la marche à suivre.

Alors si tu veux bien, je vais expliquer à nouveau mon besoin.
En préambule tout de même, je précise que je suis tout à fait satisfait de mon fichier Excel actuellement, et pourrais m'en contenter, si ce n'est que j'ai besoin d'un accès distant et multi-utilisateurs (3).
C'est pourquoi j'ai pensé à Access qui permet la lecture écriture simultanées.

Le fonctionnement :
En gros, une procédure générale se déroule comme suit.
Entrées de marchandises via le stock
Entrée d'une commande client, via l'onglet commandes
Traitement du BL
Traitement de la facture.

Or actuellement, ce n'est possible que sur un poste, où je dois avoir tous les fichiers nécessaires à jour. Et même s'il ne s'agit que de moi, quand je me déplace avec ma tablette, c'est une usine à gaz car je dois faire une copie de tous les originaux, les mettre sur ma tablette et les remettre sur mon pc à mon retour.
Pendant ce temps là, ainsi que le reste du temps d'ailleurs, mon frère ne peut qu'attendre que je lui transmette les infos par mail pour savoir où en sont les différents projets.

Ce serait tellement simple si on pouvait avoir Excel en multi-poste distant, mais ce n'est pas le cas, que je sache.

Alors j'ai fait des tests sur l'onglet Clients en réseau lié à Access, et ça fonctionne. Les données Excel sont mises à jour en temps réel dans Access.
Mais j'aurais voulu qu'un second fichier soit lié à cette table, pour avoir 2 entrées possibles, mais ça coince.

En résumé, ce dont j'ai besoin, c'est d'un fichier multi-utilisateurs.

Voilà, je ne sais pas si mon message est trop long ou trop court...

Merci tout de même et bonnes fêtes.
 

chris

XLDnaute Barbatruc
Re

Le mode partagé d'Excel est peu utilisable : il n'a pas évolué depuis une éternité et ne gère pas les nouvelles fonctionnalités, tableaux notamment.

Si tu veux utiliser les deux logiciels, cela implique que l'essentiel soit sur Access.
On ne peut mettre à jour une table liée.
Quand tu dis que les données sont mises à jour en temps réel dans Access c'est parce qu'il lit le contenu du fichier Excel, rien d'autre.

Pour ma part je conseille la combinaison des deux seulement pour exploiter par TCD et graphiques... la base Access, mais les tables et leurs relations, les interfaces, la logique, sont à faire dans Access.

Or ton approche Excel ne respecte pas les règles des bases de données : beaucoup de tableaux à double entrées notamment et a priori une approche visuelle privilégiée par rapport à la structuration des données.
Il y aurait donc un énorme travail de mise à plat et de redéfinition pour basculer.
J'ai déjà eu des clients qui ne pouvaient pas utiliser Access : en combinant la logique des bases de données et du VBA on a réussi à obtenir un bon résultat mais la volumétrie était limitée et les processus tous liés à une même finalité (maintenance préventive réglementée de matériel sensible).
Là on est proche du logiciel d'ERP ce qui est nettement plus complexe en termes d'interaction de processus.

Il est toujours délicat d'aborder à la fois de nouveaux concepts et une nouvelle technologie sur un besoin immédiat et opérationnel : il est préférable de partir sur des projets limités et non sensibles pour se faire les dents avant.
 

Calvus

XLDnaute Barbatruc
Re,

Access c'est parce qu'il lit le contenu du fichier Excel, rien d'autre.
C'est vrai, mais n'est ce pas suffisant dans mon cas ?

une approche visuelle privilégiée par rapport à la structuration des données.
Il y aurait
C'est vrai aussi, clairement. Mais pas seulement, car lorsque je j'entre une commande, il m'est beaucoup plus facile de le faire par le biais d'une feuille excel de 2000 lignes, en allant directement dans la zone concernée et de sélectionner les références voulues.
J'avais essayé avec un formulaire, mais trop de références proches, impossibles à identifier par un code. Et il faut parfaitement connaitre sa référence pour la sélectionner et recommencer l'opération autant de fois qu'une ligne est choisie. Avec ma méthode rudimentaire, c'est beaucoup plus rapide et efficace.
Mais peut être n'ai-je pas le bon processus, auquel cas j'attends tes conseils. Je ne sais pas comment ou si on peut faire ça avec Access.

Il est toujours délicat d'aborder à la fois de nouveaux concepts et une nouvelle technologie sur un besoin immédiat et opérationnel : il est préférable de partir sur des projets limités et non sensibles pour se faire les dents avant.
Pourrais-je le faire avec 2 onglets uniquement pour l'instant ? Clients et prospects ? M'aiderais tu à identifier la voie dans laquelle je dois me diriger pour cela ?

Merci
 

Staple1600

XLDnaute Barbatruc
Bonjour le fil, le forum, Calvus, chris

Re,
M'aiderais tu à identifier la voie dans laquelle je dois me diriger pour cela ?
Merci

Attention, dès qu'on parle de voie, le danger n'est pas loin ;)
lotus-bleu.jpg

J'en profite pour souhaiter un bon réveillon à tous deux ;) et je sors ;)
 
Dernière édition:

chris

XLDnaute Barbatruc
Re

Comme dit, en faisant des liaisons, tu peux juste consulter directement ou via une requête (dont le résultat est exploitable dans Excel).

Il faut donc définir ce que tu veux obtenir : à partir de listes d'adresses c'est assez limité mais tu peux toujours commencer par là.

Dans Excel on peut comprendre que tu sépares clients et prospects mais dans une base on les mélangera avec un champ état pour les différencier : ainsi quand un prospect devient client, on change juste l'état (souvent de façon automatique dès qu'une facture existe pour cette entité).

De même dans un BD, pour une société on ne mélange pas les données de la société avec celles des contacts : on crée 2 tables, ce qui permet de gérer 1 ou n contacts par Sté de façon très simple et efficace.

As-tu toujours 2007 ou bien une version plus récente ?
C'est une version bâtarde tant pour Excel que pour Access.
Ils ont stabilisé sur 2010 la plupart des bugs ou fonctionnalités pas vraiment finies.

Dans ton exemple Excel les tableaux ont des tas de lignes vides : tu les a vidés pour l'exemple ou bien tu travailles comme cela ?
Un tableau s’agrandit tout seul : il ne doit jamais contenir de lignes entièrement vides...
 

Calvus

XLDnaute Barbatruc
Re,

Staple, sacré coquin ! ;)
Bon réveillon également. :)

ainsi quand un prospect devient client, on change juste l'état (souvent de façon automatique dès qu'une facture existe pour cette entité).
De même dans un BD, pour une société on ne mélange pas les données de la société avec celles des contacts : on crée 2 tables, ce qui permet de gérer 1 ou n contacts par Sté de façon très simple et efficace.

Ça c'est très intéressant par exemple.

Non j'ai les versions 2007 seulement..donc bâtardes comme tu diso_O

Et mes tableaux sont pleins, je les avais vidés pour l'exemple.

EDIT
Petite parenthèse : Et arrête moi si je fais fausse route.
Pourrais-je lier 2 tables, de 2 fichiers Excels distincts, et en faire une 3ème à partir de là sur Access, et donc indépendante et consultable en ligne ?
Cela permettrait de contourner la limitation dont je parlais non ?
Chacun pourrait continuer à travailler de son fichier principal, et trouverait toutes les informations disponibles sur Access pour d'autres tâches..
Qu'en penses tu ?
 

chris

XLDnaute Barbatruc
Bonjour

Oui Ms a tout chamboulé avec 2007 mais a sorti un produit pas fini.
Pas de paramétrage du ruban... possible sur 2010 et suivants.
Un exemple : à ce moment j'étais en mission dans un sté qui utilisait la version 2000 US donc j'ai laissé passé l'orage...
Puis 2010 est sorti et j'ai potassé cette version, mis à jour mes modèles et exos et ai rencontré divers bugs dont un gros sur les graphiques (j'obtenais 3/3 au lieu d'une représentation à l'échelle sur 3 séries). Quelques mois plus tard un correctif est sorti qui corrigeait ce bug. Il ont aussi sorti ce correctif pour 2007 mais donc plus de 3 ans après !
Pour info, quand j'ai testé la bêta test de 2013, ce bug était là !

Sur 2007 l'enregistreur macro ignorait tout un pan d'Excel (je ne sais si les correctifs ont corrigé).

Sur Access, il se sont enfin décidés à mettre la main dans le cambouis du gestionnaire d'interfaces (formulaires et états) qui n'avait quasiment pas évolué depuis Access 2. Mais il n'ont pas fini le boulot.
Sur 2010 c'est bon.

Les échanges Excel/Access ont évolué au fil des versions 2010 mieux que 2007, mais 2013 mieux que 2010...
 

Statistiques des forums

Discussions
315 106
Messages
2 116 268
Membres
112 706
dernier inscrit
Pierre_98