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 :

Maccro Excel pour gestion de stock


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 2
    Par défaut Maccro Excel pour gestion de stock
    Bonjour à tous,
    Dans le cadre d'un projet, j'ai une mission de créer une maccro excel pour simplifier la gestion de stock à partir d'un tableau existant.
    Ce tableau comporte plusieurs feuilles; une feuille par atelier.
    Chaque feuille comporte un tableau composé des références d'outils, du fournisseurs du lieu de stockage du coût de l'outil, et du stock. Lorsque la colonne stock actuel est inférieur à la valeur de la colonne stock minimum, la colonne A affiche "RECOMMANDER", sinon la colonne A affiche Ok. Ce tableau est fonctionnel mais je dois rajouter une macro est je suis très débutant sur VBA
    La macro consiste à appuyer sur un bouton ( chaque feuille à son bouton pour lancer la macro) est de créer une nouvelle feuille "Recap" qui créer un tableau contenant les données ( fournisseurs, coût, quantités etc) des articles dont la colonne A affiche "RECOMMANDER". Le tableau récapitulatif créé doit alors être exporter en version PDF et ensuite cette feuille recap excel supprimé pour recommencer avec les autres feuilles correspondant aux autres ateliers.


    Cette macro me semble réalisable mais je ne sais pas trop par ou commencer, je serais très intéressé par votre aide
    Je vous remercie d'avance

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Tu fais une boucle For Each pour scruter l'ensemble des onglets (en vérifiant que le nom de l'onglet n'est pas celui de ta feuille de synthèse).
    Tu copies le contenu de la feuille en question avec un UsedRange.Copy.
    Tu colles ça dans la première ligne libre de l'onglet de synthèse.

    Une fois la boucle terminée, la macro fait un filtre pour ne laisser affichées que les lignes ne contenant pas "RECOMMANDER".
    Tu supprimes toutes les lignes visibles avec un SpecialCells(xlCellTypeVisible).Delete
    Tu supprimes le filtre et il ne te restera que les lignes que tu souhaites.

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 2
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Tu fais une boucle For Each pour scruter l'ensemble des onglets (en vérifiant que le nom de l'onglet n'est pas celui de ta feuille de synthèse).
    Tu copies le contenu de la feuille en question avec un UsedRange.Copy.
    Tu colles ça dans la première ligne libre de l'onglet de synthèse.

    Une fois la boucle terminée, la macro fait un filtre pour ne laisser affichées que les lignes ne contenant pas "RECOMMANDER".
    Tu supprimes toutes les lignes visibles avec un SpecialCells(xlCellTypeVisible).Delete
    Tu supprimes le filtre et il ne te restera que les lignes que tu souhaites.
    Merci Menhir pour ta réponse, je commence à comprendre la logique
    Cependant j'ai encore quelques interrogations,
    Dans mon classeur excel, chaque feuille sera géré par un responsable d'atelier qui s'occupera de lancer la macro pour récupérer sa fiche recap de commande, la boucle For Each est elle bonne pour ce fonctionnement ?
    Par ailleurs, chaque feuille à un nombre de ligne (correspondant au nombre d'articles) différent qui sera amené à augmenter ou diminuer au fil du temps, UsedRange.Copy est une fonction VBA prévu à cet effet ?
    Ensuite pour filtrer les lignes contenant Recommander, s'agit il d'une fonction déjà créer en langage VBA ?
    Dernière chose, est il possible que lors de l'appui sur le bouton de recap, une boite de dialogue s'ouvre pour demander Nom Prénom et date, que ces informations soit coller dans le tableau recap avant de lancer la boucle ?
    Merci

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Mathbrlt Voir le message
    Dans mon classeur excel, chaque feuille sera géré par un responsable d'atelier qui s'occupera de lancer la macro pour récupérer sa fiche recap de commande, la boucle For Each est elle bonne pour ce fonctionnement ?
    S'il n'y a qu'une seule page à traiter à la fois, alors une macro n'est pas utile. Il suffit de placer sur le tableau un filtre.
    Ca prend 3 s à mettre en place et ça répond exactement à ton besoin.

    Par ailleurs, chaque feuille à un nombre de ligne (correspondant au nombre d'articles) différent qui sera amené à augmenter ou diminuer au fil du temps, UsedRange.Copy est une fonction VBA prévu à cet effet ?
    Je réponds à ta question par une autre question : as-tu pris la peine de regarder dans l'aide VBA Excel la description de ces éléments ?

    Ensuite pour filtrer les lignes contenant Recommander, s'agit il d'une fonction déjà créer en langage VBA ?
    Filtrer est une commande Excel.
    Comme quasiment toutes les commandes Excel, elle a donc son équivalent en VBA Excel.
    L'enregistreur automatique de macro te donnera les bases de sa syntaxe et l'aide Excel te permettra de connaitre les détails de son fonctionnement.

    Dernière chose, est il possible que lors de l'appui sur le bouton de recap, une boite de dialogue s'ouvre pour demander Nom Prénom et date, que ces informations soit coller dans le tableau recap avant de lancer la boucle ?
    Pour la date, si ce que tu veux est la date du jour, inutile de la demander, VBA la fournit avec la fonction Now() ou Date().
    Pour Nom et prénom, tu peux éventuellement te contenter de la propriété UserName :
    https://msdn.microsoft.com/library/6...ice.15%29.aspx
    Si ça ne suffit pas, tu peux utiliser une InputBox pour demander ces informations à l'utilisateur.
    https://msdn.microsoft.com/library/d...ice.15%29.aspx

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2017
    Messages : 18
    Par défaut
    Citation Envoyé par Menhir Voir le message
    Tu copies le contenu de la feuille en question avec un UsedRange.Copy.
    Menhir, t'es génial, je ne connaissais pas la commande usedrange, ça à l'air hyper partique!

Discussions similaires

  1. requête pour gestion des stocks
    Par dodie84 dans le forum Requêtes et SQL.
    Réponses: 11
    Dernier message: 10/04/2008, 13h55
  2. schema pour gestion de stock
    Par bibile dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 05/08/2007, 17h07
  3. Base de données pour Gestion de stock
    Par Armagnak dans le forum Schéma
    Réponses: 1
    Dernier message: 08/06/2007, 09h47
  4. choix de table pour gestion des stocks
    Par Piloupilou999 dans le forum Access
    Réponses: 1
    Dernier message: 28/01/2007, 20h49
  5. Recherche base access pour gestion de stock avec picking
    Par Cedric1979 dans le forum Access
    Réponses: 3
    Dernier message: 15/02/2006, 14h37

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