IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

VBA pour debutant? Creation de tableur excel a partir d'une "base de donnes excel"


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juillet 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour a tous,

    Tout d'abord, desole de ne pas mettre d'accent, je sais que c'est chiant mais je suis en Angleterre pour 3 mois...

    Presentation rapide :
    Je suis etudiant en 2eme annee d'ecole d'ingenieur generaliste dans le domaine de l'industrie et ma specialite est beaucoup plus la gestion de la securite des salaries et les impacts environnementaux d'une entreprise que la programmation... J'ai suivi quelques cours de prog dont VBA sur excel et MatLab mais ils relevaient plus de l'initiation que d'un veritable apprentissage. De plus je suis un peu hermetique a tout ce langage et ses nuances...

    Mon probleme :
    Je debute un stage a l'etranger (en angleterre) de 3 mois avec pour mission l'elaboration d'une analyse de risques de l'activite de l'entreprise (maintenance industrielle sur lignes de fabrication). Jusqu'ici, aucun soucis pour moi. Il souhaite une base de donnees comportant tous les risques possibles en fonction des differentes activites. Le but etant de pouvoir piocher dans cette BdD afin de realiser une analyse de risques specifique a chaque operation de maintenance qu'ils realisent.
    Je connais un peu la chose puisque je travaille dans des entreprises de maintenance industrielle en France depuis quelques annees.
    Pour faire simple, je partais sur un tableur excel assez consequent comprenant chaque activite de l'entreprise avec les risques associes et les mesures de prevention a mettre en place. A chaque activite sa ligne excel. Par exemple : "utilisation d'outillage a main" ou encore "circulation a pieds" et plein d'autres (avec les risques associes, la quotation des risques, les mesures de prevention, distribues dans les colonnes du tableur).
    Il n'avaient plus qu'a copier-coller chaque ligne correspondante aux activites reellement effectuees pour une intervention donnee dans un nouveau tableur excel afin de realiser leur analyse de risques specifique.
    En tout cas, je fonctionne comme ceci en France et cela marche tres bien. Maintenant, ils veulent quelque chose de tres simple d'utilisation afin de pouvoir realiser leurs analyses de risques en 3 clics une fois que je serais parti. Un "truc" qui leur poserait des questions type "De quel client s'agit-il?" ou encore "Que doit-on y faire?", "A-t-on besoin d'outillage a main?"... Voila mon probleme... comment je peux faire le lien entre mon tableur excel (ou un autre support, je peux m'adapter) et des question fermees type "oui ou non" ou a menu deroulant au pire??? En gros, il me faut un "truc qui me copie-colle ou non chaque ligne de mon tableur excel en fonction des reponses donnees par l'utilisateur.

    Je savais que j'aurais du etre plus attentif pendant les cours de VBA...
    Je suis parti sur cette solution, meme si je ne la maitrise pas mais je ne sais meme pas si c'est la bonne... Je suis vraiment une grosse brele en informatique, mes competences s'arretent aux tableaux croises dynamiques, et encore...
    J'ai commence un peu mes recherches en reapprenant les bases ici :
    http://heureuxoli.developpez.com/office/word/vba-all/

    J'ai peu pres tout compris. mais ca m'avance pas enormement sur la facon de faire... Pour l'instant c'est la copie blanche...


    Tout ca pour dire :
    Avez-vous des conseils?
    VBA sous excel est-il la bonne facon de faire?
    Dois-je utiliser Access? (que je ne maitrise pas plus...)
    Si je suis parti sur la bonne voie avec VBA sous excel, avez-vous d'autres tuto a me proposer?


    Merci d'avance et desole de choquer certaines personnes en utilisant les mauvais termes ou de me gourer completement

    J'oubliais juste, desole si je poste au mauvais endroit mais comme je ne sais meme pas si j'utilise le bon software...

    Et ma version d'office est 2003, en Anglais for sure, histoire de faciliter les choses... Heureusement que les commandes VBA sont deja en anglais...
    Les "cours de VBA" que j'ai eu etaient sur 2007, je ne sais pas si ca differe beaucoup, mais pour le peu que je m'en souviens...

  2. #2
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 491
    Points : 16 399
    Points
    16 399
    Par défaut
    Bonjour

    A vue de nez je partirais sur un formulaire qui alimenterait une zone de critère et grâce à un filtre automatique extrairait les lignes qui vont bien.

    Mais sans avoir un aperçu des données difficile de dire si le pifomètre a bien visé.

    Tu parles de risques liés à une activité : j'imagine qu'il y a parfois plus d'un risque et dans ce cas une ligne Excel est moins efficace qu'une approche base de données (comme Access).

    Mais surtout tu évoques le client : y a t'il un lien avec les risques ? Si oui lequel ?

    Avant de faire quoi que ce soit il faut affiner l'analyse : quelles questions et quelles réponses peuvent permettre de faire le lien avec la liste des risques.

    Après on voit quel est la meilleure solution technique...

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juillet 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci pour cette reponse rapide mais je n'ai acces a internet qu'au travail. Je n'ai pas reussi a debloquer un acces internet pour seulement 3 mois a l'appart et les hotspot sont tous payants en Angleterre apparemment...

    Donc pour aider, je joins l'analyse de risques que je n'ai pas fini et je joins aussi une liste de questions types a poser a l'utilisateur en vrac qui me viennent au compte gouttes avec les repercussions que leur reponse auraient.
    Tous les documents sont en "anglais". Je peux les traduire si necessaire. C'est juste que je suis en sejour linguistique donc le but est quand meme d'ameliorer mon Anglais qui est deplorable. Les documents ne sont donc pas termines, cela fait une semaine que je suis sur place, je commence tout juste et n'est pas encore la vision de tous les risques de l'entreprise. C'est justement pour cela que je me pose toutes ces questions maintenant, pour ne pas travailler trop longtemps dans la mauvaise direction.

    Pour l'histoire des risques et des lignes, en effet, j'ai commis une erreur. Il y a une ligne par risque, donc plusieurs risques (et donc lignes) par activite. Je vous laisse regarder par vous meme le document appeler "risk assessment template".
    Du coup, en effet, je ne sais pas si le simple copier-coller pourrait suffir, surtout que je dois garder la mise en page, la taille des colonnes et lignes, les fusion de cellules...

    De plus, le document final comportera un cartouche qui devra etre copie dans chaque analyse de risques avec des cases a remplir telles que le nom du client, la date d'intervention, la duree d'intervention, le nombre d'eperateur sur site, leur responsable, le regime de travail (quarts, travail de nuit...) et bien d'autres choses que je n'ai pas pris de le temps de faire. Tout ce cartouche devrait en principe pouvoir etre rempli grace a ce systeme de question aussi...

    Et enfin, je sais comment selectionner une cellule dans excel grace a VBA (range) mais alors pour copier toute une ligne avec sa mise en page, c'est une autre histoire. J'ai essyer avec l'enregistreur de macro mais pas reussi. Et comme chaque analyse de risque sera differente, difficile de dire a VBA "tu copie dans la ligne 3 ou 4, sachant que je ne sais pas combien de lignes je vais avoir besoin et donc ou j'en serais dans mon tableur... Si il se met a copier sur une ligne deja remplie ou au contraire, s'il laisse des lignes non rempli, ca va etre le bordel...

    Pour le rapport au client, en realite, il y a enormement de choses qui interferent avec l'analyse de risques. C'est pourquoi en France, pour ce type d'entreprise, on a un service securite qui passe son temps a faire de vrai analyses de risques personnalisees, propre a chaque intervention... En effet, je vous laisse regarder le document appele "macro ideas" mais il y a beaucoup de choses qui entrent en jeux. Par exemple en vrac :

    Le nombre de personnes dans la zone de travail influe sur le nombre de personnes exposees a certains risques, comme la chute d'objets, les projections de matiere incandescente (lapidaire, soudure...), le bruit genere. Tout ceci change la quotation du risque

    Le fait que les lignes de fabrication fonctionnent encore ou non genere de nouveaux risques : interferences avec les autres entreprises, bruit de la ligne de fabrication, collision avec un clark...

    Le presence ou non de materiaux ou produits inflammable dans la zone de travail va changer considerablement l'occurence et la gravite des risques lies a l'incendie. Sans parler du nombre de personnes exposees a ce risques qui change en fonction des situations...

    Bref, il y a des choses tres complexes qui vont modifier les calculs de quotation des riques mais si je commence a m'embarquer dans tout cela... Je ne vais surement pas m'en sortir en seulement 3 mois... C'est pourquoi je partais deja sur un systeme simple qui ne faisait que copier-coller les risques generiques qvec un quotation qui ne change pas. Je n'ai pas vraiment le choix et c'est de la responsabilite de l'entreprise dans laquelle je travaille. S'ils voulaient une vrai analyse de risques personnalisee, ils prendraient au moins une personne formee en permanence et non un stagiaire etranger paye au lance pierre pendant seulement 3 mois... Il va falloir me faire raison et limiter l'etendu de l'outil que je dois elaborer...
    Fichiers attachés Fichiers attachés

  4. #4
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    Pour copier une ligne Sinon tu as la prop entirerow..

    Ton prog de calculs de risques a l'air assez simple et tu peux ajouter facilement des pondérations si liquides inflamables alors multiplier ça par... en 3 mois tu as le temps de faire ton programme et 5 autres si tu t'y mets.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juillet 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci, je ne connaissais pas cette commande.
    Peut-etre qu'en l'utilisant avec une commande conditionnelle type if ou autre, j'arriverai a quelque chose.

    Me reste a regle le probleme de mise en page et de ou VBA va bien vouloir coller ma ligne... Il faudrait qu'il la colle a la premiere ligne vide, ce serait le must. Existe-t-il une commande pour lui dire d'aller a la premiere ligne non remplie?
    Et pour poser les question? ce serait des question type fermee "oui ou non" (a-t-on besoin de ca?) surtout mais il y a aura aussi des menu deroulant (de quel outillage a-t-on besoin) et des msgbox (quel est le client?). Voir peut-etre un calendrier pour choisir la date d'intervention. Et encore, je dis cela mais comme je ne m'y connais pas, j'ai pas une super vision de la chose...

    Pour le temps alloue, je vous passe les details sur mon metier mais une analyse de risques exhaustive ne se fait pas en 2 jours. Ce document engage ma responsabilite en quelque sorte. Si je dis que tel risque est de 0 et que derriere il y a un mort...

    Pour la quotation, en effet, le calcul est simple, reste que je ne sais pas comment en modifier les variables sur VBA et que moi-meme, je ne sais pas toutes les questions a se poser pour fixer ces variables. Il y a beaucoup de choses qui entrent en jeux, comme je le disais plus haut. J'ai l'habitude de gerer cela au cas par cas et non d'envisager TOUTES les possibilite en une seule fois, dans une entreprise que je ne connais pas de surcrois. Je risque de passer enormement de temps pour poser a plat tous les parametres, leur reelle influence, et a traduire ca en question comprehensible et en requete et commande VBA.

    Quand j'aurai termine la base de donnees comprenant toutes les activites et tous les risques, la moitie du temps se sera surement ecoule. Sans parler du fait que je vais mettre 10 fois plus de temps que vous pour elaborer une macro VBA sans bug... Je prefere donc etre modeste sur le temps...

    Des questions me viennent a l'esprit pour ce futur programme :

    Pourra-t-il etre modifie facilement sans retourner dans VBA? En effet, si apres mon depart, l'entreprise ajoute une nouvelle activite, il faudra bien ajouter des lignes a la base de donnee de depart... Et si je compte utiliser cet outils en France car c'est une tres bonne idee. Je vais devoir l'adapter et le traduire.

    Comment se lancera-t-il? Il faut garder a l'esprit que le but est qu'il soit facile d'utilisation pour des gens qui n'y connaissent rien en securite ni en VBA.
    S'il ont juste a ouvrir un fichier excel, c'est bon. Si il faut en plus qu'ils cliquent sur le bouton pour lancer une macro, ok, et encore...

    Que se passe-t-il si le fichier est copier sur d'autres sources de stockage (cle USB, autre PC)? Et s'il est partage sur un reseau? Tout le monde peut l'utiliser? Et si la version d'office change?

    Des questions de debutant quoi!

  6. #6
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    Première ligne vide:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    premligne= Worksheets("tonworksheet").range("A" & rows.count).end(xlup).row+1
    Poser des questions:
    Inputbox (ouvertes)
    Listes déroulantes (fermées)
    Cases à cocher (fermées)
    Clicks (fermées)

    Tu peux lancer ton userform à l'ouverture du classeur et diriger le programme...

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Juillet 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Ingénieur sécurité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Ah oui, c'est d'un InputBox que j'ai besoin, pas d'un msgbox, tu as raison

    Pour ce que tu as ecris en code, j'ai pas tout compris... voire rien! Je vais essayer et voir ce qu'il se passe!

Discussions similaires

  1. Réponses: 6
    Dernier message: 07/10/2014, 17h33
  2. recherche en VBA dans une base de donnée excel
    Par INCO13 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 24/06/2008, 13h58
  3. cours VBA pour debutant
    Par lolita_help dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/12/2007, 23h46
  4. [VBA-E]probleme affichage date excel a partir d'une DTPicker VBA [15/02/07]
    Par gromorice dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 15/02/2007, 17h05
  5. [VBA-E] Base de données Excel
    Par damsmut dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/12/2006, 15h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo