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 :

Copier ma sélection dans un Label


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut Copier ma sélection dans un Label
    Bonjour a toutes et tous, Forum bonjour

    J'ai un USF1 avec une ListBox1 et un Label1

    Une liste de nom sur ma Feuil1 baptiser (Compte) en colonne (T)

    ListBox1 mis propriété sur Muliselect=1

    Ma liste s'affiche bien dans le ListBox1 et je peux cocher plusieurs cases.

    Je souhaiterai svp afficher (Le où les noms) sélectionnés dans le Label1

    Malgré de multiples essais, je ni parviens pas.

    Merci et bon début de semaine a tous

    Cordialement Ray

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    Option Explicit
     
    Private Sub UserForm_Initialize()
    Dim I As Integer
      ListBox1.Clear
     
    For I = 1 To Sheets("Compte").[T50].End(xlUp).Row
     
        If ListBox1.ListIndex = -1 Then
           ListBox1.AddItem Sheets("Compte").Cells(I, "T")
        End If
     
    Next I
           ListBox1.List() = Range("T1:T50").Value
    End Sub
     
    '*****
    Private Sub ListBox1_Click()
    Dim compt As Integer
     
      For compt = 0 To (ListBox1.ListCount - 1)
     
          If ListBox1.Selected(compt) = True Then
             Label1.Caption = ListBox1.List(compt)
          End If
     
      Next compt
    End Sub

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 174
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Sans avoir effectué de test, dans cette partie de ton code, mis en évidence en rouge.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      For compt = 0 To (ListBox1.ListCount - 1)
          If ListBox1.Selected(compt) = True Then
             Label1.Caption = ListBox1.List(compt)
          End If
      Next compt
    Il y aurait lieu de faire une concaténation comme par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Label1.Caption = Label1.Caption & ";" & ListBox1.List(compt)
    Sans oublier d'initialiser au préalable la propriété Caption par une chaîne vide.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut
    Salut Philippe Tulliez

    Merci pour ta réponse c'est sympa

    Mais malgré les modifs proposées ça ne fonctionne pas ou alors je n'ai pas bien compris.

    Merci pour ton aide

    Cdlt Ray

  4. #4
    Invité
    Invité(e)
    Par défaut bonjour,
    ton code est d'une bizarrerie:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     ListBox1.AddItem Sheets("Compte").Cells(I, "T") 
    ......
     
     ListBox1.List() = Range("T1:T50").Value
    enlève ListBox1.List() = Range("T1:T50").Value

    et fais ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListBox1.AddItem Sheets("Compte").range( "T" & I).

  5. #5
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut
    Salut rdurupt,

    Merci pour ta réponse,

    ça ne marche pas, certainement a cause de mon code bizarre comme tu dit.

    je l'ai trouver sur le net, et j'ai regarder sur le site les tutos sur ListBox
    et voila pas très réussi.

    Si tu a le temps tu pourrai svp me faire quelque chose de mieux si tu veux bien.

    Merci a toi, bon app

    Cdlt Ray

  6. #6
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub UserForm_Initialize()
    Dim I As Integer
      ListBox1.Clear
    For I = 1 To Sheets("Compte").[T50].End(xlUp).Row
               ListBox1.AddItem Sheets("Compte").Range("T" & I)
    Next      
    End Sub

  7. #7
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 174
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Citation Envoyé par eliot.raymond Voir le message
    Salut Philippe Tulliez
    Mais malgré les modifs proposées ça ne fonctionne pas ou alors je n'ai pas bien compris.
    C'est peut-être moi qui n'ai rien compris.
    Ta demande initiale
    J'ai un USF1 avec une ListBox1 et un Label1
    Une liste de nom sur ma Feuil1 baptiser (Compte) en colonne (T)
    ListBox1 mis propriété sur Muliselect=1
    Ma liste s'affiche bien dans le ListBox1 et je peux cocher plusieurs cases.
    Je souhaiterai svp afficher (Le où les noms) sélectionnés dans le Label1
    C'est à dire que chaque élément sélectionné dans ta liste doit se retrouver dans Label1 (à la relecture de ta question, je trouve cela curieux car je penserais plutôt à un TextBox qu'à un Label) donc je t'ai proposé de concaténer chaque élément sélectionné.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  8. #8
    Invité
    Invité(e)
    Par défaut Bonjour, Phillippe
    je pense que tu as bien compris et ta réponse en est la preuve, mais sa méthode pour alimenter sa liste est hasardeuse.

  9. #9
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Par défaut
    Re

    Cela est bien excat, sauf que je n'arrivai pas a ecrire dans le label(1) ce que je selectionne
    le but etant d'afficher (Le où les noms) sélectionnés dans le Label1

    la remarque pour le code pas terrible est bien vrai et merci de m'avoir refait un plus clair

    Je fais quelques essais pour apporter peut etre des modifications dans un autre fichier si ca marche

    un peu de la bidouille pour l'instant

    '***
    J'ai un USF1 avec une ListBox1 et un Label1
    Une liste de nom sur ma Feuil1 baptiser (Compte) en colonne (T)
    ListBox1 mis propriété sur Muliselect=1
    Ma liste s'affiche bien dans le ListBox1 et je peux cocher plusieurs cases.
    Je souhaiterai svp afficher (Le où les noms) sélectionnés dans le Label1

    je vais maintenant avec le beau petit code essayer de realiser ce qui etait ma demande, sinon tant pis.

    Merci a vous deux pour l'aide apporter, bonne après midi

    Cdlt Ray

Discussions similaires

  1. Réponses: 17
    Dernier message: 27/02/2014, 21h29
  2. Réponses: 18
    Dernier message: 13/06/2012, 08h07
  3. récupérer un chemin pour le copier dans un label
    Par fred_m dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 22/12/2009, 15h25
  4. Faire defiler Texte dans un label
    Par Techsan dans le forum Composants VCL
    Réponses: 5
    Dernier message: 08/06/2003, 23h29
  5. scroll dans un label
    Par Pretender dans le forum Composants VCL
    Réponses: 9
    Dernier message: 27/09/2002, 17h06

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