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 :

Gestion de stock avec zipette


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2016
    Messages : 4
    Par défaut Gestion de stock avec zipette
    Salut le forum !

    Alors voila , je suis en stage pour une grande entreprise et je dois développer une application permettant la gestion du stock . Le hic c'est que je débute en VBA , j'y met de la bonne volonté mais j'ai du mal. Dans le fichier que je vais joindre, j'aimerais attribuer une référence (feuil 2 seulement) a chaque entrée d'un "produit" ayant une ref constructeur ou une reference mabec . Mais je ne vois pas comment faire.
    Si vous pouviez ne serait ce que m'indiquer le chemin

    Merci de votre aide !

    pablVersion7.xlsm

  2. #2
    Membre éprouvé
    Homme Profil pro
    Technicien bureau d'études
    Inscrit en
    Novembre 2015
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien bureau d'études

    Informations forums :
    Inscription : Novembre 2015
    Messages : 118
    Par défaut
    Bonjour Pablitto.

    Le plus embêtant est de trouver les critères d'attribution de la référence.
    Est-ce du numérique, de l'alphabétique, de l'alpha-numérique ?
    Les produits seront-ils catégorisés par famille ? Sous-famille ?
    Essaye de mettre sur papier cette hiérarchie et après tu auras déjà avancé dans la création de la référence.

    Le plus simple étant de créer une nouvelle feuille reprenant la dernière référence créée, par famille le cas échéant, et tu l'incrémenteras à chaque Entrée de produit.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2016
    Messages : 4
    Par défaut
    Bonjour Benoit !

    En fait ce n'est pas aussi compliqué que tu ne le penses . Soit on a une reference MABEC toute faite , soit constructeur , on souhaite juste la rentrer , pour que une des deux (mais pas les deux) nous donne un code barre , en fameux code 3 de 9 .

  4. #4
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Heu....

    Du coup à quel endroit tu coince ?
    Génération du CB ?

  5. #5
    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 pablitto76 Voir le message
    Dans le fichier que je vais joindre
    http://www.developpez.net/forums/d84...s-discussions/

    j'aimerais attribuer une référence (feuil 2 seulement) a chaque entrée d'un "produit" ayant une ref constructeur ou une reference mabec.
    Présenté comme ça, je ne vois pas du tout où est le problème ni la relation avec un lecteur de code-barres.
    Décrit comme tu le fais, on a l'impression qu'il suffit de taper un code lors de la création d'un nouvel enregistrement.
    Je suppose que ça doit être un peu plus compliqué que ça mais si tu ne le décris pas, on ne peut pas le deviner.

    Soit on a une reference MABEC toute faite , soit constructeur , on souhaite juste la rentrer , pour que une des deux (mais pas les deux) nous donne un code barre , en fameux code 3 de 9 .
    Quel est le problème ? Afficher le code-barres d'un code donné ?

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2016
    Messages : 4
    Par défaut
    Bonjour tout le monde !

    Desolé de mon inactivité !, tout d'abord , j'ai reussi a solutionner partiellement mon problème . Oui Menhir je n'avais pas pris connaissance de cette règle du forum . En fait je crois que je vais vous joindre le code ca va etre plus simple . A l'aide d'une macro on affiche un userform où l'on vient rentrer nom , référence Mabec , et donc cette référence attribue un code barre en "code 39" .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
     
    Worksheets("feuil2").Activate
     
    If Range("B2").Select = 0 Then
     
     Range("F2").Select
     
     ActiveCell.FormulaR1C1 = "=code39(RC[-4])"
     
     With Selection.Font
            .Name = "Code 3 de 9"
            .Size = 30
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
     
     
     End With
     
     Else
     
     [F65000].End(xlUp).Offset(1, 0).Select
     
     ActiveCell.FormulaR1C1 = "=code39(RC[-4])"
     
     With Selection.Font
            .Name = "Code 3 de 9"
            .Size = 30
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
     
     End With
     
     End If
    Mais voila le nouveau problème est au niveau de la restriction . Si un petit malin s'amuse a supprimer une ligne , le code ne recommence pas a la dernière cellule mais dans la case vide . Ce qui est normal me direz vous , mais je ne sais pas comment le mettre en œuvre . Je vais quand même donner un exemple histoire d'être plus clair : "si le dernier code barre rentré est a la ligne 9 et que je le supprime , le prochain code barre sera attribué a la ligne 9 , au lieu de la 10 ..."

    Merci bien

  7. #7
    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
    Première chose qui pique les yeux dans ton code :

    Citation Envoyé par pablitto76 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Range("B2").Select = 0 Then
    Enlève le Select.

    Ensuite, ton code pourrait être grandement simplifié ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Worksheets("feuil2").Activate
     
    If Range("B2") = 0 Then Range("F2").Select Else Range("B" & Rows.Count).End(xlUp).Offset(1, 4).Select
     
    ActiveCell.FormulaR1C1 = "=code39(RC[-4])"
     
    With Selection.Font
            .Name = "Code 3 de 9"
            .Size = 30
            .Strikethrough = False
            .Superscript = False
            .Subscript = False
            .OutlineFont = False
            .Shadow = False
    End With
    Le fait de changer le F en B avant le End(xlUp) devrait résoudre ton problème.
    Le décalage entre B et F pour le Select est corrigé par le 4 dans le Offset.

    Cela dit, étant donné le process que tu présentes, à moins qu'il y ait d'autres éléments que tu ne décris pas, je ne comprends pas trop pourquoi tu as besoin d'un Userform et d'une macro pour faire ça. Je trouve que tu te compliques la vie inutilement, le userform n'apportant aucune valeur ajoutée pour compenser sa complexité.

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2016
    Messages : 4
    Par défaut
    Bonjour mon cher Menhir !

    Merci pour cette aide sur mon code, c'est vrai que c'est mieux . Bon ensuite la complexité ... Vois tu , j'ai pensé et repensé le programme, et c'est ce qui correspond le plus au cahier des charges défini par mon tuteur de stage. Mais en soi tu as raison
    Du coup j'aurais une petite question pour gérer l'impression ...

    Voila ce que j'ai écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    Sub Selection_zone()
     
    Dim plage As Range
     
    Worksheets("Feuil2").Activate
     
    Set plage = Application.InputBox(Prompt:="Selectionnez la zone à imprimer", Type:=8)
     
    ActiveSheet.PageSetup.PrintArea = plage.Address
     
    End Sub
    C'est une petite macro que j'ai trouvée sur internet ... Mais il me semble qu'il pourrait y avoir un probleme dans le cas où l'on utilise plusieurs imprimantes, ou si on en change .

    Merci en tout cas et bonne soirée !

  9. #9
    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 pablitto76 Voir le message
    Du coup j'aurais une petite question pour gérer l'impression ...
    Si tu n'indiques pas ce que tu veux faire, c'est-à-dire la raison pour laquelle tu passes par une macro et non la commande standard, il est difficile de t'aider.

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