Projet amelioration d'un classeur excel
Zonby.D
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je suis étudiant en prog et actuellement polyvalent dans une société X durant mes vacances.
Ma première mission en amélioration système est de reprendre plusieurs classeurs excel et de les réunir en 1 classeur excel (expliquer ci dessous). Je post ce message pour avoir des avis/amélioration sur la façon dont j'ai abordé le problème et pourquoi pas des façon de programmé ça en VBA (je n'ai encore jamais touché à VBA).
Disposition des postes informatiques:
7 postes différents avec chacun leur disque dur, tous relié à un disque dur partagé.
Organisation actuelle :
5 fichiers excel incluant les fonctionnalités -imprimé les feuilles voulus, envoie de mail aux personnes concernées et alimentation d'un historique en feuille excel- en macro. Ils utilisent une base de donné en feuille excel inclus dans chaque classeur. Ils sont tous sur le disque dur partagé.
Problèmes :
Impossible d'accédé en même temps au même fichier. La moitié des choses sur les classeurs sont inutiles (datant de 2004).
Restriction :
- Utilisable par excel 2003
- La manipulation utilisateur doit être simple et rapide
- Aucun logiciel tiers
- La base de donné doit être mise a jour tous les mois (normalement)
Mon projet :
Regroupé les 5 classeurs en 1 et l'implanté sur chaque poste
Dissocié l'historique et la base de donné et les mettre sur le disque dur partagé
Dans l'utilisation, à chaque manipulation du classeur excel, il prendra les infos sur la bdd, puis imprimera et enverra les mails, puis alimentera l'historique partagé.
Question programmation:
- Comment alimenter l'historique ?
- Est possible d'envoyé des mails à une liste d'utilisateur pouvant être modifié sur une feuille excel sans touché à la macro ?
- Niveau performance, est ce que ca ne prendra pas trop de temps pour des postes assez vieux ( windows xp, Pentium 4 il me semble) ?
Merci pour les gens qui auront lui jusqu'au bout et encore plus aux personnes qui auront répondu ;).
Si il faut plus d'info précisé le, pour l'instant je pense que le pavé est déjà assez long.
Aucune info sur la société ou ce que renferme ces classeurs ne peux être divulgué.
Je suis étudiant en prog et actuellement polyvalent dans une société X durant mes vacances.
Ma première mission en amélioration système est de reprendre plusieurs classeurs excel et de les réunir en 1 classeur excel (expliquer ci dessous). Je post ce message pour avoir des avis/amélioration sur la façon dont j'ai abordé le problème et pourquoi pas des façon de programmé ça en VBA (je n'ai encore jamais touché à VBA).
Disposition des postes informatiques:
7 postes différents avec chacun leur disque dur, tous relié à un disque dur partagé.
Organisation actuelle :
5 fichiers excel incluant les fonctionnalités -imprimé les feuilles voulus, envoie de mail aux personnes concernées et alimentation d'un historique en feuille excel- en macro. Ils utilisent une base de donné en feuille excel inclus dans chaque classeur. Ils sont tous sur le disque dur partagé.
Problèmes :
Impossible d'accédé en même temps au même fichier. La moitié des choses sur les classeurs sont inutiles (datant de 2004).
Restriction :
- Utilisable par excel 2003
- La manipulation utilisateur doit être simple et rapide
- Aucun logiciel tiers
- La base de donné doit être mise a jour tous les mois (normalement)
Mon projet :
Regroupé les 5 classeurs en 1 et l'implanté sur chaque poste
Dissocié l'historique et la base de donné et les mettre sur le disque dur partagé
Dans l'utilisation, à chaque manipulation du classeur excel, il prendra les infos sur la bdd, puis imprimera et enverra les mails, puis alimentera l'historique partagé.
Question programmation:
- Comment alimenter l'historique ?
- Est possible d'envoyé des mails à une liste d'utilisateur pouvant être modifié sur une feuille excel sans touché à la macro ?
- Niveau performance, est ce que ca ne prendra pas trop de temps pour des postes assez vieux ( windows xp, Pentium 4 il me semble) ?
Merci pour les gens qui auront lui jusqu'au bout et encore plus aux personnes qui auront répondu ;).
Si il faut plus d'info précisé le, pour l'instant je pense que le pavé est déjà assez long.
Aucune info sur la société ou ce que renferme ces classeurs ne peux être divulgué.
A voir également:
- Projet amelioration d'un classeur excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Trier un tableau excel - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
1 réponse
bonjour,
il faudrait que l'historique soit conçu sous forme de table de données sur le serveur.
pour réduire le risque de collisions la solution pourait être de passer par SQL et ADO
j'ai un exemple de caftage qui, quand.... je regarde pour voir si tu pourrais l'adapter
pour vba tu as de très bons tutos, sources faq sur developpez.com en particlulier sur les fichiers fermés (ado-sql)
bon courage
il faudrait que l'historique soit conçu sous forme de table de données sur le serveur.
pour réduire le risque de collisions la solution pourait être de passer par SQL et ADO
j'ai un exemple de caftage qui, quand.... je regarde pour voir si tu pourrais l'adapter
pour vba tu as de très bons tutos, sources faq sur developpez.com en particlulier sur les fichiers fermés (ado-sql)
bon courage
on connait sur quelle ligne de la colonne bleue qui a fait une modif et quand
https://www.cjoint.com/
les macros sont dans le module "feuille1" et module 1
en utilisant ADO et SQL
ci dessous code excel-txt dans copier dans le module Thiswoorkbook de "diisident"
L'historique est bien une feuille excel contenant une liste avec date et ce qui a était fait d'une dizaine de cellule (donc du excel -> excel).
Par contre je ne comprend pas ton histoire de collision, peux tu me préciser ?
Je n'arrive pas a voir ton document cjoint (je n'ai jamais utiliser ce site, peut etre une mauvaise manipulation de ma part)
Je vais m'intéresser a VBA et te dirai si ton code m'aidera ( mais si je comprend bien il le sera ;p ).
Merci pour le coup de main c'est vraiment sympa.
je m'étais planté le lien est
http://www.cjoint.com/c/EGenVR1JTBX
Et :
Set source = CreateObject(" ADODB.Connection")
source.Open "Provider = Microsoft.Jet.OLEDB.4.0;" & _
"data source=" & fichier & ";" & _
"extended properties=""Excel 8.0;"""
Est ce que ca s'écrit toujours comme ça ?
(désolé de toutes ces questions, je n'ai commencé à regarde VBA que depuis hier)
Sinon pour GetUserName, est ce que environ("username") fait le même travail ?
Salut michel,
un projet déjà bien avancé qui pourrait t'intéresser : https://forum.excel-pratique.com/viewtopic.php?forum_uri=excel&t=62074&start=
Cependant :
Mais la bonne nouvelle pour les "petits utilisateurs" est que je prévois malgré tout de proposer aussi une version gratuite. La version gratuite sera bien entendu limitée, notamment en nombre d'enregistrements (avec une limite estimée à 1'000 cellules sauvegardées au maximum) mais il me semble que ce serait déjà pas trop mal pour un "petit utilisateur".
Il ne faudrait pas que ce soit bloquant dans 5 ans
eric