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 :

alléger un code


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 93
    Par défaut alléger un code
    Bonjour à tous,

    Je suis en train de faire un Userform avec quelque 300 combobox. La galère.

    Bref je souhaite réduire le code ci-dessous.

    Auriez vous une idée ou une piste à me donner ou même le code ^^?

    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
     For j = 2 To 5
    '1 site CH
            ComboBox4 = Range("K" & j)
            If ComboBox4.ListIndex = -1 Then ComboBox4.AddItem Range("K" & j)
            ComboBox8 = Range("K" & j)
            If ComboBox8.ListIndex = -1 Then ComboBox8.AddItem Range("K" & j)
            ComboBox12 = Range("K" & j)
            If ComboBox12.ListIndex = -1 Then ComboBox12.AddItem Range("K" & j)
            ComboBox16 = Range("K" & j)
            If ComboBox16.ListIndex = -1 Then ComboBox16.AddItem Range("K" & j)
            ComboBox20 = Range("K" & j)
            If ComboBox20.ListIndex = -1 Then ComboBox20.AddItem Range("K" & j)
            ComboBox24 = Range("K" & j)
            If ComboBox24.ListIndex = -1 Then ComboBox24.AddItem Range("K" & j)
            ComboBox28 = Range("K" & j)
            If ComboBox28.ListIndex = -1 Then ComboBox28.AddItem Range("K" & j)
            ComboBox32 = Range("K" & j)
            If ComboBox32.ListIndex = -1 Then ComboBox32.AddItem Range("K" & j)
            ComboBox36 = Range("K" & j)
            If ComboBox36.ListIndex = -1 Then ComboBox36.AddItem Range("K" & j)
            ComboBox40 = Range("K" & j)
            If ComboBox40.ListIndex = -1 Then ComboBox40.AddItem Range("K" & j)
    next j
    Il y a toujours un step de 4 entre les combobox.

    Merci et bonne journée.

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For j = 2 To 5
        For k = 4 To 40 Step 4
            Me.Controls("ComboBox" & k) = Range("K" & j)
            If Me.Controls("ComboBox" & k).ListIndex = -1 Then Me.Controls("ComboBox" & k).AddItem Range("K" & j)
        Next k
    Next j

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

Discussions similaires

  1. Alléger le code flash
    Par unreal2me dans le forum Flash
    Réponses: 3
    Dernier message: 27/03/2008, 22h21
  2. Gestion thread pour alléger le code
    Par modaffar dans le forum Windows Forms
    Réponses: 7
    Dernier message: 07/02/2008, 16h45
  3. [SQL + VB.NET] Alléger mon code pour un accès plus rapide
    Par Miles Raymond dans le forum VB.NET
    Réponses: 8
    Dernier message: 15/10/2007, 23h09
  4. Réponses: 1
    Dernier message: 26/02/2007, 21h47

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