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 :

Rentrer une selection de taille variable dans une liste d'un userform


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
    Avril 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 59
    Par défaut Rentrer une selection de taille variable dans une liste d'un userform
    Coucou!
    Mon soucis est le suivant!
    Lorsque je crée une zone de liste modifiable dans un userform, je voudrais mettre dans RowSource un nombre de cellules variables. En gros, pour l'instant, dans RowSource, j'ai "Options!A4:A50 , mais je voudrais ne pas mettre 50 en fin de sélection mais le numéro de la ligne contenant la derniere information de la colonne! Sachant que si ca peut vous aider, le nombre exact de cellules remplies dans la colonne et stockée dans la cellule B6 de la page options.
    Est-ce assez clair?
    En bref, je ne voudrais pas mettre options!A4:A50 dans RowSource mais options!A4:A&i avec i connu
    Quelqu'un aurait-il une idée?
    Merci d'avance!

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Listbox1.rowsource = "A4:A" & range("A65536").end(xlup).row
    Bonne journée

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 40
    Par défaut
    Salut,
    Ou bien alors si i est une variable connu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ComboBox1.RowSource = "Feuil1!A1:A" & Cstr(i)
    @+
    Julien

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 59
    Par défaut
    Ok merci ca fonctionne!
    Mais si maintenant la listbox (qui s'appelle "drop down 192" - je ne sais pas pk!)est dans une feuille de calcul, pourquoi cela ne marche pas ? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim nbrMatiere As Integer
    nbrMatiere = Sheets("options").Range("F24").Value - 1
    Sheets("AffichA").Shapes("Drop Down 192").RowSource = "Options!G18:G" & CStr(nbrMatiere)

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Citation Envoyé par epsylon_9 Voir le message
    Salut,
    Ou bien alors si i est une variable connu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ComboBox1.RowSource = "Feuil1!A1:A" & Cstr(i)
    @+
    Julien
    Le cstr(i) est inutile
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ComboBox1.RowSource = "Feuil1!A1:A" & i
    L'opérateur "&" convertit un nombre en string dans une concaténation.
    Juste pour info

  6. #6
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour tlm,

    Je me permet un petit commentaire. Les contrôles directement insérés sur une feuille n'acceptent pas la propriété RowSource, encore moins si ceux-ci proviennent du menu "Formulaires" qui n'acceptent quasi aucune propriété.

    Je te propose ceci, insère une ListBox depuis le menu "Boîte à Outils Contrôles" et le code devrait ressembler à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("AffichA").ListBox1.ListFillRange= "Options!G18:G" & nbrMatiere
    (b'jour Ousk, merci pour la pub concernant la zone de texte )

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 59
    Par défaut
    Ok merci Fring, mais avec une boite à outils contrôle, comment fait-on pour récupérer la valeur selectionnée? On ne peut pas utiliser de cellules liées? si?

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

Discussions similaires

  1. [AC-2007] Tableau de taille variable dans une feuille d'état
    Par spawny161184 dans le forum VBA Access
    Réponses: 3
    Dernier message: 14/11/2011, 11h29
  2. [AC-2007] Tableau de taille variable dans une feuille d'état
    Par spawny161184 dans le forum IHM
    Réponses: 0
    Dernier message: 08/11/2011, 08h55
  3. Réponses: 1
    Dernier message: 02/06/2010, 14h05
  4. Réponses: 3
    Dernier message: 13/12/2009, 17h04
  5. [MySQL] récupérer dans une boucle chaque information MySQL dans une variable différente
    Par gtenthorey dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/05/2007, 22h34

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