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 :

remplissage de listbox à l'aide des éléments d'une suite


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

    Informations forums :
    Inscription : Janvier 2010
    Messages : 68
    Par défaut remplissage de listbox à l'aide des éléments d'une suite
    j'ai a disposition une suite de caractères

    ex: a;a;a;b;b;c;b;a;c;c;c;b;a;a;a;b;c;c;c

    1. dans un premier temps je souhaite supprimer de cette suite tous les éléments en doublon et obtenir:

    ex: a;b;c

    2. je souhaite par la suite afficher dans 3 textBox distinctes chaque élément contenu dans la suite (mise à par les ; ) tel que:

    textBox1="a"
    textBox2="b"
    textBox3="c"

    Comment procéder? Merci d'avance !

  2. #2
    Membre chevronné
    Inscrit en
    Décembre 2003
    Messages
    434
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 434
    Par défaut
    Salut,

    En supposant que ta chaine est en Cellule A1 de la feuille active
    tu peux essayer ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
        Dim ElementsUniques As New Collection
        Dim Chaine As String
        Dim Cpt As Integer
     
        Chaine = Range("A1").Value
     
        For Cpt = 1 To Len(Chaine)
            On Error Resume Next
                If Mid(Chaine, Cpt, 1) <> ";" Then
                    ElementsUniques.Add Mid(Chaine, Cpt, 1), CStr(Mid(Chaine, Cpt, 1))
                End If
            On Error GoTo 0
        Next Cpt
     
        For Cpt = 1 To ElementsUniques.Count
            If Cpt > 3 Then Exit For
            Me.Controls("TextBox" & Cpt) = ElementsUniques(Cpt)
        Next Cpt

  3. #3
    Expert confirmé
    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
    Par défaut
    Bonjour,

    Du même genre, pour l'emploi de Split, trop souvent négligé..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Private Sub UserForm_Initialize()
    Dim tboExtract As Variant
    Dim I
    Dim Unseul As New Collection
    Dim strElt As Variant
    Dim j
     
    tboExtract = Split(Cells(3, 3), ";")
    On Error Resume Next
    For I = 0 To UBound(tboExtract)
       Unseul.Add tboExtract(I), tboExtract(I)
    Next I
     
    For Each strElt In Unseul
    j = j + 1
    UserForm1.Controls("TextBox" & j).Value = strElt
    Next
    On Error GoTo 0
    End Sub
    Ps : pas de gestion du nombre de textbox relatif aux nombre de caractères différents que tu ne précises pas .

    cordialement,

    Didier

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 68
    Par défaut
    Merci beauoup.

    concernant le nombre textbox j'en ai créé suffisament pour que:

    nbr de textbox > nbr d'élément diff. de la suite.

    vos réponses elles me sont bien utiles !

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

Discussions similaires

  1. Affichage des éléments d'une ListBox
    Par andre_21 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 01/07/2010, 14h02
  2. Réponses: 2
    Dernier message: 27/07/2009, 15h14
  3. Gestion de l'affichage des éléments d'une ListBox
    Par Tod_sd dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 15/05/2009, 11h46
  4. Réponses: 3
    Dernier message: 25/01/2009, 17h32
  5. [VB.NET] Enregistrement des éléments d'une listBox
    Par Hoegaarden dans le forum Windows Forms
    Réponses: 9
    Dernier message: 18/05/2004, 14h48

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