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 :

code repetitif sur combobox change [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de bosk1000
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 706
    Par défaut code repetitif sur combobox change
    bonjour a tous

    voila j'ai une série de 5 combobx du nom de produit(1,2,3,4,5)

    lorsque je sélectionne un produit dans la combobox produit1
    une recherche en vlookup me remplie 2 textboxs, stock_actuel et prix (eux aussi numéroté de 1 à 5)
    voici le code, qui se répété 5 fois
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Private Sub produit1_Change()
    Dim prix As Single, stockact As Single
    Dim NomPièce As Variant
    NomPièce = produit1.Value
    prix = WorksheetFunction.VLookup(NomPièce, Range("stock"), 5)
    prix1.Value = prix
    stockact = WorksheetFunction.VLookup(NomPièce, Range("stock"), 3)
    stock_actuel1.Value = stockact
    End Sub
    ma question :
    est-il possible de réduire ces 5 code à un seul ?

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    Tu créais une prpcedure qui prendra comme paramètre ta combobox
    Code non testé

    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
     
    Private Sub Chargement(Combo as Combobox)
    Dim prix As Single, stockact As Single
    Dim NomPièce As Variant
    NomPièce = Combo.Value
    prix = WorksheetFunction.VLookup(NomPièce, Range("stock"), 5)
    prix1.Value = prix
    stockact = WorksheetFunction.VLookup(NomPièce, Range("stock"), 3)
    stock_actuel1.Value = stockact
    End Sub
     
    Private Sub produit1_Change()
    Chargement produit1
    End 
     
    Private Sub produit2_Change()
    Chargement produit2
    End
    Edit : Tu peux aussi ne passer en paramètre que la valeur de la combobox (en modifiant le type du paramètre attendu)

  3. #3
    Membre éclairé Avatar de bosk1000
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 706
    Par défaut
    oui, simple

    je connais ça, mais n'y ai pas penser

    merci

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Bonjour,
    Tu peu peut-être aussi t'inspirer des collections de contrôles.
    Classeur1 et/ou Classeur 2
    A adapter aux combo et TexteBox. (Je l'ai déjà fait)
    En fait, quelque ligne à ajouter mais peu servir pour toutes les autres routines.

    A+

  5. #5
    Membre éclairé Avatar de bosk1000
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    706
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 706
    Par défaut
    merci, mais là, j'avoue etre perdu

    je ne connais absolument pas le principe des modules de classe et cette méthode de collection
    (quoique cela à l'air d'être une très bonne méthode pour moi qui utilise beaucoup de combobox et textbox avec des numérotation)

    je suppose que sur le site il existe des tuto concernant ces deux éléments

    amis pour comprendre le démarrage de ma recherche
    quelle est l'utilité de ces deux points ?

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Par défaut
    Tu peu voir un tuto sur ce lien
    A+
    Edit :
    L'utilité ? ; Ca peu quelque fois remplacer des dizaines de lignes de code par quelque une.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 15/10/2012, 14h39
  2. [XL-2007] Evenement Change sur combobox crée dynamiquement [Controls et Event]
    Par znmile dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/07/2012, 11h29
  3. Réponses: 0
    Dernier message: 23/07/2011, 21h34
  4. [XL-2010] Code VBA pour trier sur combobox
    Par duplaly dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/04/2011, 17h56
  5. un evennement onclick sur combobox par code
    Par Mihalis dans le forum Delphi
    Réponses: 6
    Dernier message: 10/06/2007, 15h57

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