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 :

Creer Combobox dans VBA Excel


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 24
    Par défaut Creer Combobox dans VBA Excel
    Bonjour,

    Je veux creer un Combobox pour un liste des 12 pays.

    J'ai deja essaye de faire ca mais en fait, toujours erreurs.

    Concretement, je veux que Macro excel va chercher des valeurs equivalents dans le sheet " Data Power 08-09" pour completer dans le sheet "Country Data" en utilisant la fonction Vlookup.

    Je voudrais que quand on selectionne un pays dans le liste de Combo box, les bases de donnes de ce pays va etre rempli dans le tableau dans le sheet " Country data"

    Voila une version d'essai que je viens de faire pour ajouter la liste Combo Box et aussi remplir le YTD Order Intake pour le Mai 2009 (base sur la base de donnes de sheet "Data Power 08-09"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub ComboBox1_Change()
        Sheets("Data Power 08-09").Select
        Combo.Box1.AddItem = "China"  'List Index = 0
        Combo.Box1.AddItem = "France" 'List Index = 1
        Select Case Combo.Box1.Value
            Case China
            Worksheets("Country Data").Range("M13").Select
            ActiveCell.Value = VLOOKUP(F2,Data Power 08-09!B4:J79,2,FALSE)
            End Select
    End Sub

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Salut,

    Premièrement on écrit Combobox1 et non Combo.Box1. Ensuite, je te conseille d'aller voir les tutos du site : ils sont vraiment très bien faits !

    EDIT : c'est par ici http://silkyroad.developpez.com/VBA/ControlesUserForm/

    De plus, pas besoin d'un Select Case pour ton cas. Un simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If ComboBox1.Value = "China" Then
    End If
    suffira.

    Evite aussi les Select, ça ralentit le tout et ça saoule si on a pas mis l'Application.ScreenUpdating à False.

    Tu pourrais faire directement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Country Data").Range("M13").Value = VLOOKUP(F2,Data Power 08-09!B4:AJ79,2,FALSE)
    Enfin, tu devrais remplacer Value par Formula vu que ça a aps l'air d'être une valeur. Ca donnerait donc :

    Worksheets("Country Data").Range("M13").Formula = " = VLOOKUP(F2,Data Power 08-09!B4:AJ79,2,FALSE)"

    Et si t'arrives à lire les tutos, les AddItem se font plutôt à l'initialisation de l'UserForm à part cas exceptionnels, ce qui a pas l'air d'être ton cas. La condition, quant-à elle, je la mettrais dans le code. Bref, l'événement Change devrait rester vide.

    Essaie de mettre tout ça en place et si tu n'y arrives pas je te filerai un coup de main (figuré à moins que t'aimes les baffes )

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 24
    Par défaut
    Merci de ta reponse, maintenant je peux ajouter la liste Combobox

    Mais ca marche pas encore avec Vlookup.

    En fait, quand j'ai choisi "china" par exemple, ca ne donne pas valeur (c'est a dire un chiffre) mais ca donne la formule Vlookup. Ce que je veux c'est la valeur pour completer ce tableau

    Et aussi, tu peux voir que dans la formule Vlookup, j'ai utilise la Cellule F2 comme la reference. Je veux que cette cellule va changer quand on selectionne le pays dans la liste Combobox. Si j'ai choisi "China", F2 = China et comme ca, Vlookup donne exactement la valeur de ce pays.

    Voila les Codes que je viens de modifier, grace a ton aide . C'est juste la version d'essai pour China, et apres je vais faire avec les autres pays.



    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
    Private Sub ComboBox1_Change()
        Dim i As Byte
     
        ComboBox1.AddItem "China"  'List Index = 0
        ComboBox1.AddItem "France" 'List Index = 1
        ComboBox1.AddItem "Italy"  'List Index = 2
        ComboBox1.AddItem "UK"     'List Index =3
        ComboBox1.AddItem "India"  'List Index =4
        ComboBox1.AddItem "Turkey" 'List Index = 5
        ComboBox1.AddItem "Mexico" 'List Index = 6
        ComboBox1.AddItem "USA"    'List Index = 7
        ComboBox1.AddItem "Canada" 'List Index =8
        ComboBox1.AddItem "Russia" 'List Index = 9
        ComboBox1.AddItem "Brazil" 'List Index = 10
        ComboBox1.AddItem "Spain"  'List Index = 11
     
        If ComboBox1.Value = "China" Then
            Worksheets("Country Data").Range("M13").Formula = " = VLOOKUP(F2,Data Power 08-09!B4:AJ79,2,FALSE)"
        End If
    End Sub

    Tu peux m'aider encore

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 24
    Par défaut
    Bonjour,

    Heureusement, maintenant j'ai deja reussi a faire tout : Combo box et Vlookup

    Mais un petit probleme c'est que pourquoi la liste Combo Box ne fonctionne pas automatiquement ????

    C'est a dire, quand j'ouvre ce fichier, je dois cliquer Alt +F8 pour voir macro et Executer Macro. sinon le combo box ne marche pas.

    Comment faire pour resoudre ce probleme.

    Vous pouvez voir ma piece jointe

    Merci beaucoup

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

Discussions similaires

  1. creer un formulaire vba excel
    Par remington19 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 04/04/2007, 14h24
  2. Liste des contrôles dans VBA-Excel
    Par CAFOUIN dans le forum Excel
    Réponses: 2
    Dernier message: 23/02/2007, 17h50
  3. Name et formula dans VBA Excel
    Par khadba dans le forum Windows
    Réponses: 1
    Dernier message: 20/02/2007, 11h37
  4. ptit probleme combobox sous vba/excel
    Par bandito dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/10/2006, 09h34
  5. [VBA-E] Compatibilité de Date dans VBA Excel
    Par dorschner dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/05/2006, 19h25

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