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 :

combobox remplit avec variable


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 235
    Par défaut combobox remplit avec variable
    Bonjour, j'ai un problemes, je ne sait pas comment faire une combobox en vba, pour le moment j'ai ce code la :
    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    For i = 1 To dl
                If Cells(i, 2).Value = "JAL" Then
                    With combobox1
                    VarTab = Cells(i, 3).Value
                    combobox1.AddItem (VarTab)
                    End With
                End If
            Next
    Il est censer boucler sur toutes mes lignes jusqu'a qu'il trouve 'JAL' dans la colonne 'b', alors la il recupere la valeur dans la colonne 'c' pour la stocker dans 'VarTab' et j'aimerais qu'une combobox se crée avec pour valeur mes différents valeurs contenues dans 'VarTab'.

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

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

    Vas jeter un oeil du côté des tutos et FAQ pour les tableaux. Ce n'est pas comme ça qu'on les utilise

    D'ailleurs, petite question, pourquoi passer par un tableau et ne pas faire directement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    combobox1.AddItem (Cells(i, 3).Value)
    Ca paraît quand même plus simple non ?

    EDIT : D'ailleurs, vu que tu as mis tu peux écrire simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .AddItem (Cells(i, 3).Value)

  3. #3
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 133
    Par défaut propriete
    Bonjour,

    Une propriete du controle RowSource permet de déterminer la région des cellules correspondant au remplissage permet de faire ce travail de remplissage des differentes valeurs de la combobox .


  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 235
    Par défaut
    avec le code que tu m'a donner :
    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    combobox1.AddItem (Cells(i, 3).Value)
    J'ai un message d'erreur :
    erreur d'execution 428 :
    propriete ou methode non generee par cette objet

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    As-tu créé ton userform et mis ta combobox dessus ..?

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 235
    Par défaut
    heu non, le code je l'ai mit dans un module, et la combobox, doit etre sur une feuille excel ou j'ai rajouter directement mes boutons radios, mais pas de combobox, premiere fois que j'utilise une combobox

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Bon, ben direction les tutos pour la première fois Tu essaies donc de les appliquer et si ça ne passe pas, tu reviens nous demander la suite

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Pour te filer un coup de main, sait-on jamais que tu aies la flegme de chercher... http://silkyroad.developpez.com/VBA/...serForm/#LII-F Je t'assure, il y a tout ce dont tu as besoin pour réaliser ce que tu souhaites.

    Bonne chance !

    EDIT : vas quand même en haut du tuto, ça peut intéresser de savoir où créer une combobox

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 235
    Par défaut
    J'ai lut ton liens, et voici le code que j'en ai sortie :
    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub codeJnal()
        nomfichier = ActiveWorkbook.Name
        nomfeuille = ActiveSheet.Name
        With Sheets(nomfeuille)
        dl = .Range("a" & Rows.Count).End(xlUp).Row
        For i = 1 To dl
            If Cells(i, 2).Value = "JAL" Then
                VarTab = Cells(i, 3).Value
                ListBox1.AddItem VarTab
            End If
        Next
        End With
    End Sub
    Mais, il me retourne l'erreur suivante :
    erreur d'execution 424
    objet requis

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    As-tu créé un UserForm et mis un ListBox dessus dans l'éditeur VBA ...?

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    235
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 235
    Par défaut
    oui, et mon maitre de stage m'a dit qu'il faudrait mieux que je definisse une plage et que j'affecte cette plage a ma combobox, chose que j'ai faite, mais, je n'arrive pas a remplir cette plage de cellule nome 't_journal'
    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub codeJnal()
        With Sheets(nomfeuille)
        dl = .Range("a" & Rows.Count).End(xlUp).Row
        For i = 1 To dl
        If Cells(i, 2).Value = "JAL" Then
            Range("t_journal").Cells(i, 3).Insert
        End If
        Next
        End With
    End Sub

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Bon, écoute, je ne sais pas ce qu'a dit ton maître de stage mais voilà ce qu'il faut faire pour arriver à ce que tu souhaites.

    Je viens de tester et ça fonctionne TRES bien ! J'ai donc créé un classeur vierge nommé Classeur1. J'ai mis des valeurs de test dans les colonnes A, B et C sur la feuille "Feuil1". Dans mon éditeur VBA, j'ai fait insertion userform qui m'a créé "Userform1". Je n'ai vraiment rien changé. Pareil pour la combobox, j'en ai créé une sans rien changer en paramètres, elle s'appelle donc combobox1.

    Ensuite, couplé à cette petite procédure cela marche TRES bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub test()
     
        For i = 1 To Sheets("Feuil1").Range("B" & Rows.Count).End(xlUp).Row
            If Cells(i, 2).Value = "JAL" Then
                UserForm1.ComboBox1.AddItem (Cells(i, 3).Value)
            End If
        Next
     
        UserForm1.Show
     
    End Sub
    Cela vérifie toutes les valeurs en B et si jamais la valeur est "JAL", cela rajoute la valeur correspondante de la colonne C dans la combobox qui s'affiche donc après la boucle.

    Je suis désolé, mais je peux pas faire plus et plus clair que ça.

    Bonne chance pour la suite

    EDIT : oh p*****, je suis trop c** J'avais oublié de te dire de mettre Userform1. avant le Combobox1. Désolé... En gros, la combobox est un objet apparenté au userform. Elle fonctionne de paire avec celui-ci. Pour l'appeler, tu fais donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Userform1.Combobox1.CeQueTuVeux
    .
    Pour l'afficher (le userform et donc la combobox dessus), tu fais .Show. Dans le lien que je t'ai donné, tu auras les différentes méthodes qui pourront t'être utiles (effacer les données de la combobox, chargement sans doublons etc.)

    Bonne chance pour la suite !

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

Discussions similaires

  1. Requete SQl avec variable d'un combobox
    Par nonopower dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 15/03/2010, 18h08
  2. Merge avec variables
    Par kluh dans le forum Oracle
    Réponses: 18
    Dernier message: 25/07/2005, 15h31
  3. [AS2] Pb avec variables dans syntaxe
    Par ooyeah dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 05/07/2005, 12h28
  4. Boucle avec variable à incrémenter
    Par snoop dans le forum Linux
    Réponses: 2
    Dernier message: 19/03/2004, 12h07
  5. Cacher Variable Url avec Variable Globale
    Par danuz dans le forum XMLRAD
    Réponses: 6
    Dernier message: 26/09/2003, 18h20

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