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 dans combobox


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
    Mai 2008
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 246
    Par défaut code dans combobox
    Bjr bjr,
    Un ami m'a donner un fichier exemple d'une combobox sur un formulaire, qui se rempli des valeurs d'une colonne de ma feuille excel. Il marche très bien.
    Le problème c'est que j'ai beau faire tout les tests possible et inimaginable, il n'y a rien à faire sur mon fichier ca marche pas ! Quel pourrais être le problème?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub ComboBox_nom_Change()
    With Sheets("Janv")
        .Range("A6:A" & .[A65000].End(xlUp).Row).Name = "base"
    End With
    Me.ComboBox_nom.RowSource = [base].Address
    End Sub
    Le code est mis dans ma combobox, Janv est le nom de ma feuille excel ou se trouve mes valeur à mettre dans la combobox (la zone est défini par le nom "base")... et voila!
    Merci de votre aide.

  2. #2
    Membre Expert Avatar de Jean-Pierre49
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2007
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 659
    Par défaut
    Bonjour,

    Juste une piste


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub UserForm_Initialize()
    Me.ComboBox_nom.RowSource = Sheets("Janv").Range("A6:A" & Sheets("Janv").Range("A65536").End(xlUp).Row).Address
    End Sub

    Bon courage

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 246
    Par défaut
    Le code de jean pierre49 marche a moitié sur mon fichier test, mais dés que je le mets dans mon vrai fichier, non. Est ce que le fait que j'ai des multipage y est pour quelque chose?

  4. #4
    Membre Expert Avatar de Jean-Pierre49
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2007
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 659
    Par défaut
    Peut être qu'avec un bout de ton code, histoire de voir

    le multipage ne doit en être pour rien

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2008
    Messages : 246
    Par défaut
    Voici le code de mon fichier test, il marche mais il y a encore des erreurs, car quant je déroule la zone, elle est vide, je la ferme et la reouvre, elle est pleine
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub ComboBox1_Change()
    Dim pl As Range
    Set pl = Sheets("Feuil1").Range("A6:A" & Sheets("Feuil1").Range("A65536").End(xlUp).Row)
    pl.Name = "base"
    Me.Controls("ComboBox1").RowSource = "base"
    End Sub
     
    Private Sub UserForm_Initialize()
    Me.ComboBox1.RowSource = Sheets("Feuil1").Range("A6:A" & Range("A65536").End(xlUp).Row).Address
    End Sub
    et voici le code de mon vrai fichier, il n'y a pas de message d'erreur, j'ouvre mon formulaire et la zone de liste, et elle est completement vide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub ComboBox_nom_Change()
    Dim pl As Range
    Set pl = Sheets("Janv").Range("A6:A" & Sheets("Janv").Range("A65536").End(xlUp).Row)
    pl.Name = "base"
    Me.Controls("ComboBox_nom").RowSource = "base"
    End Sub
     
    Private Sub eff_mois_Initialize()
    Me.ComboBox_nom.RowSource = Sheets("Janv").Range("A6:A" & Range("A65536").End(xlUp).Row).Address
    End Sub
    Sinon j'ai trouvé ce code qui marche, mais que pour les lignes, evidament je veux la colonne lol ca serait trop beau. Ca ne m'affiche que A1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        Dim Tableau As Variant
        Sheets("Feuil1").Select
        Tableau = Range("A1:A10").Value
        ComboBox1.Column() = Tableau

  6. #6
    Membre Expert Avatar de Jean-Pierre49
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2007
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 659
    Par défaut
    L'erreur est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub eff_mois_Initialize() ' Pas Bien
    Me.ComboBox_nom.RowSource = Sheets("Janv").Range("A6:A" & Range("A65536").End(xlUp).Row).Address
    End Sub

    essais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub ComboBox_nom_Change()
    End Sub
     
    Private Sub UserForm_Initialize() ' Bien Pour l'evenement
    Me.ComboBox_nom.RowSource = Sheets("Janv").Range("A6:A" & Range("A65536").End(xlUp).Row).Address
    Me.ComboBox_nom.ListIndex = 0
    End Sub

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut ptitepo
    Le problème c'est que j'ai beau faire tout les tests possible et inimaginable, il n'y a rien à faire sur mon fichier ca marche pas ! Quel pourrais être le problème?
    il a pas de jambe
    Message d'erreur ???
    Quand tu vas voir un garagiste, tu ne te contente pas de dire "ça marche pas" ? Tu donnes quelques précisions, non ?

    Si ça fonctionne d'un coté et pas quand tu l'adaptes, c'est pas le code qui est à mettre en cause, mais l'adaptation

    Address donne l'adresse d'un range dans une page
    Pas l'adresse d'un range dans un classeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     Private Sub UserForm_Initialize()
    Me.ComboBox_nom.RowSource = "Janv!" & Sheets("Janv").Range("A6:A" & _
     Sheets("Janv").Range("A65536").End(xlUp).Row).Address
    End Sub
    A+

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 01/10/2009, 16h51
  2. [debutant][awt] Pb avec ItemStateChanged dans combobox
    Par cosmos.1097 dans le forum Composants
    Réponses: 2
    Dernier message: 30/06/2005, 18h38
  3. [C#]ajout code dans code behind
    Par liliprog dans le forum ASP.NET
    Réponses: 8
    Dernier message: 21/06/2005, 11h03
  4. [VBA Excel] Comment écrire un code dans le ThisWorkBook ?
    Par WebPac dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/05/2005, 15h03

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