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.RowSource se décale progressivement [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é
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Australie

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2010
    Messages : 132
    Par défaut ComboBox.RowSource se décale progressivement
    Bonsoir,

    J'ai créé un UserForm contenant une combobox dont la RowSource est définie par une liste nommée dans une feuille excel.
    Ceci marche.
    Cependant par ce userform l'opérateur peut ajouter des lignes dans la feuille contenant la liste, entre la liste et la première ligne de la feuille.
    Ceci à pour effet de décaler progressivement la liste qu'utilise la combobox et donc de lui faire renvoyer des valeurs erronées.
    Le seul moyen de réinitialiser la liste de la combobox est d'opérer la commande End qui malheureusement termine toutes les procédures éventuellement en cours et donc mon userform.
    J'ai essayé le combobox.Clear qui me renvoie "erreur non répertoriée", le combobox.RowSource = "" qui me vide bien la combobox, mais comme le combobox.AddItem et combobox.RowSource="liste nomée" me renvoient aussi l'erreur non répertoriée, je ne peux plus remplir ma liste déroulante.

    Une idée sur la marche à suivre?
    Bien sur je ne souhaite pas déplacer ma liste de choix (en bas de la feuille) et je voudrais garder le UserForm actif...

    Merci,
    Zebrette

  2. #2
    Membre émérite Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Par défaut
    bonjour Zebrette,

    il faut nommer la liste en faisant référence à une formule comme celle-ci (et adapter le nom de la feuille),

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DECALER(Feuil1!$A$1;;;NBVAL(Feuil1!$A:$A))

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Australie

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2010
    Messages : 132
    Par défaut
    Parlons en langage VBA, et donc anglais, je pense que ca simplifiera les choses :
    Le problème avec la solution que tu propose est que pour cela il faudrait que je puisse déclarer un Range, lui donner la valeur que tu propose, et définir dynamiquement la combobox.RowSource comme étant ce Range. Mais apparement le range n'est pas le bon input pour une RowSource et me donne justement cette erreur non répertoriée... Est ce que j'ai raté quelque chose? Est ce que la variable rowsource est d'un type spécial?

    Merci

  4. #4
    Membre émérite Avatar de sabzzz
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    748
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 748
    Par défaut
    bonjour Zebrette,

    pour utiliser la plage nommé avec RowSource,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.ComboBox1.RowSource = Names("MaPlage").RefersTo

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mai 2010
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Australie

    Informations professionnelles :
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2010
    Messages : 132
    Par défaut
    Géniale, ca marche. merci beaucoup, j'avais fini par abandonner.

    Bonne soirée

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/06/2015, 12h26
  2. [XL-2007] Utilisation de Combobox + Rowsource
    Par Defter dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 21/10/2011, 12h23
  3. [XL-2003] VBA combobox.rowsource alimenté par vlookup ?
    Par Teh Metil dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/01/2011, 17h24
  4. [VBA-E]Rowsource variable pour combobox/listbox
    Par ippo_master dans le forum Excel
    Réponses: 7
    Dernier message: 25/10/2007, 13h44
  5. [VBA-E]ComboBox + RowSource ne concerne que les lignes ?
    Par ouskel'n'or dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 10/04/2006, 14h29

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