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 :

RowSource dans une combobox [XL-2007]


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
    Février 2010
    Messages
    249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 249
    Par défaut RowSource dans une combobox
    Bonjour,

    Je suis en train de créer un formulaire, comme ma l'a conseillé Mercatoq mais j'ai un petit problème que je ne trouve pas dans les tutoriels.

    J'ai donc créer un userform et à l'intérieur une combobox. Dans les propriétés je suis allé voir dans RowSource car il est dit dans un tutoriel que si l'on met l'emplacement de notre liste, il l'a reprendra.
    J'ai testé ça marche mais moi je suis intéressé par une liste que j'avais créer grâce à la validation des données et donc je ne peux pas lui mettre de lien.Ces valeurs sont dans aucune case, je les ai noté directement. J'ai essayé de mettre ce que j'avais mis dans la validation des données mais ça ne marche pas. Ce ne sont pas des cellule mais des valeurs.
    ex : clio;mégane;scénic

    J'ai essayé dans le code de mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    combobox1.List()="clio";"mégane"
    mais ça ne marche pas

  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
    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub UserForm_initialize()
    Dim maTab
     
    maTab = Array("mégane", "clio", "R4")
    Me.ComboBox1.List() = maTab
    End Sub
    mais c'est non évolutif pour l'utilisateur; vaut mieux définir une plage de cellules

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub UserForm_initialize()
    Dim LastLig as long
     
    LastLig=sheets("Feuil4").cells(rows.count,"C").end(xlup).row 'dernière ligne
    Me.ComboBox1.rowsource="Feuil4!C1:C" & Lastlig
    End Sub

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 249
    Par défaut
    Tu as raison, c'est pourquoi je vais suivre ton conseil et je viens donc de saisir une liste dans une feuille 6. Le titre étant en cellule A1, ma liste commence à A2, j'ai donc fais les changements dans ton code mais ça ne marche pas. J'ai dû me tromper quelque part. Je te donne ce que j'ai fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub UserForm_initialize()
    Dim LastLig as long
     
    LastLig=sheets("Feuil6").cells(rows.count,"A").end(xlup).row 'dernière ligne
    Me.ComboBox1.rowsource="Feuil6!A2:A" & Lastlig
    End Sub

  4. #4
    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
    Où tu as mis ce code?
    bien sûr sur l'évènement Initialise de ton userform
    en mode création, double click sur ton userform, il te donne par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub UserForm_Click()
     
    End Sub
    tu choisi à droite l'évènement initialize

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 249
    Par défaut
    oui oui c'est ce que j'ai fais, d'ailleurs je l'ai fais mais je n'ai pas compris pourquoi on ne mets pas ce code dans le code de la combobox car c'est elle qui est concerné. Quelque chose m'échappe sous VBA apparemment.

    En tout cas, je l'ai bien mis ou tu m'as dis et quand clic sur mon bouton j'ai une fenêtre qui s'ouvre : erreur d'éxécution 9 : l'indice n'appartient pas à la sélection

    je viens de faire un test que je trouve bizarre

    Etant donné que la formule ne marche pas et que tu as l'air surpris. Apparemment ça devrait marcher. J'ai essayé de remettre les cellules nouvellement saisie dans Rowsource, à savoir : et bien ça ne marche pas.

    Par contre quand je remplace simplement le 6 par 1
    exemple : et bien ça marche.

    En fait, ça marche pour la feuil1 et la feuil2. Si je met exactement la même formule pour les autres feuilles 3, 4,5 ou 6 ça ne marche pas. Il me dit :Impossible de définir la propriété Rowsource. Valeur de propriété non valide ???????????

    C'est surement pour ça aussi que ton code ne marche pas

  6. #6
    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
    tu as bien une feuille nommée feuil6?
    mets en pj un extrait de ton fichier

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

Discussions similaires

  1. Multi-selection dans une ComboBox ?
    Par Moloko dans le forum MFC
    Réponses: 5
    Dernier message: 07/07/2021, 17h26
  2. Comment afficher dans une combobox les driver des imprimante
    Par lassad dans le forum Composants VCL
    Réponses: 3
    Dernier message: 18/10/2005, 08h56
  3. ajouter une valeur dans une combobox
    Par decour dans le forum Access
    Réponses: 1
    Dernier message: 17/10/2005, 10h58
  4. Réponses: 2
    Dernier message: 14/09/2005, 13h39
  5. [VB+IE] Comment sélectionner dans une combobox d'une page IE
    Par danje dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 03/05/2005, 09h10

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