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 :

création d'une listbox à partir d'une ligne


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 79
    Points : 41
    Points
    41
    Par défaut création d'une listbox à partir d'une ligne
    Bonjour à tous,

    Lorsque je souhaite créer une listbox à partir d'item appartenant à une colonne et lorsque ces items sont des variables en nombre inconnu, j'utilise, pour la colonne "A", le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub UserForm_Initialize()
        Dim DerCell As String
    'détermination de la longueur de la listbox1
        DerCell = Range("A1").End(xlDown).Address
        ListBox1.RowSource = "A1:" & DerCell
        ListBox1.Height = ListBox1.Font.Size * (ListBox1.ListCount) * 1.25
    Je pensais que, en remplaçant xlDown par xlToRight, je pourrais obtenir une listbox contenant les item inscrit en ligne1... Mais je n'obtiens, en affichage de la listbox, que le premier item, celui figurant en "A1".

    D'où ma demande d'aide sachant que, en desespoir de cause, je peux toujours imaginer de recopier, un peu plus loin, ma ligne en colonne, puis de créer la listbox comme ci-dessus et, enfin, après disparition de la nécessité, d'effacer la colonne. Cependant, je trouve cela inélégant tout autant qu'une preuve de mon ignorance du langage vba.

    Merci de vos conseils.
    Cordialement,
    Maurice GUILLIER

  2. #2
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    Bonjour,

    Vois la cause ici : variables tableau en VBA et Application à l'optimisation du code sous Excel chapitre VIII


    et de idées ici listbox

    cordialement,

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 79
    Points : 41
    Points
    41
    Par défaut
    Bonjour Didier,

    Merci donc !

    Et comme quoi ce n’était pas aussi simple que je le pensais. Je vais donc adapter ton cours à ma ligne dont je ne connais ni la longueur, ni les valeurs des cellules pour que ma ListBox s'affiche.

    En fait, sur ma ligne sont inscrits les noms de mes clients, au fur et à mesure de l'arrivée de leurs commandes. Et parfois, il arrive que l'un d'entre eux modifie sa commande initiale. Il me faut donc récupérer son nom de manière à ne pas, à la suite d'une erreur de saisie, le considérer comme un nouveau client mais bien comme un client existant à modifier. D'où mon idée de récupérer la liste des clients déjà inscrits et de le sélectionner dans la ListBox appelée.

    Merci encore.

    Très cordialement,
    Maurice

  4. #4
    Membre confirmé Avatar de grisan29
    Homme Profil pro
    ouvrier poseur
    Inscrit en
    Octobre 2006
    Messages
    866
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : ouvrier poseur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2006
    Messages : 866
    Points : 520
    Points
    520
    Par défaut
    bonjour Maurice guillier et didier

    je te joint un fichier client que patricktoulon m'a modifié et qui ajoute, crée, modifie et envoie sur ma feuille le client sélectionné
    tu l'adaptera a ton besoin

    cordialement

    Pascal

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 79
    Points : 41
    Points
    41
    Par défaut
    Bonjour Pascal,

    Cela est complet, comme on dit.... et je t'en remercie. SUPER !

    Pour moi, j'ai donc tout pour bien travailler.

    Très cordialement,
    Maurice

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

Discussions similaires

  1. Remplir une grille à partir d'une listbox
    Par justgreat dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 15/11/2009, 04h49
  2. [AC-2007] calcul d'une somme à partir d'une listbox
    Par l.lakrakbi dans le forum IHM
    Réponses: 2
    Dernier message: 17/06/2009, 11h18
  3. [VB6]Ecriture dans une ListBox à partir d'une FileListBox
    Par Joffrey91 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 15/04/2009, 20h51
  4. Réponses: 3
    Dernier message: 27/03/2009, 10h43
  5. Réponses: 1
    Dernier message: 26/09/2007, 17h50

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