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 :

ListBox.selected dans un commentaire


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
    Technicien maintenance
    Inscrit en
    Juin 2016
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juin 2016
    Messages : 306
    Par défaut ListBox.selected dans un commentaire
    Bonjour,

    J'ai un soucis lorsque j'ajoute des noms dans un commentaire d'une cellule T9 à partir d'une sélection multiple de noms de la listbox1 du userform.
    Il m'insére "n-1" noms sélectionnés dans mon commentaire. Or je veux être fidèle aux "n" noms sélectionnés de la listbox1 voici le bout de code.

    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
    With Range("T9")
             .Interior.ColorIndex = 2
             .ClearComments
             .AddComment
             .Comment.text text:="*************** INTERVENANTS ***************" '& Chr(10)
             .Comment.Visible = False
    End With
     
             chaine = ""
     
             For i = 0 To UserForm1.ListBox1.ListCount - 1
             If UserForm1.ListBox1.Selected(i) = True Then
                chaine = Range("T9").Comment.text & Chr(10)
                Range("T9").Comment.text text:=chaine & CStr(ListBox1.List(i))
             End If
             Next i
    merci par avance pour votre aide.

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Je ne vois rien dans ce code qui justifierait le comportement que tu exposes (sauf si chaîne trop longue, bien évidemment)

    Au passage : pourquoi modifier le commentaire à chaque itération ?
    Ne modifie qu'in fine ! (une fois la boucle terminée). Mais c'est là un aspect purement accessoire.

    Je me demande par ailleurs pourquoi avoir "découpé" en deux temps (l'insertion de "INTERVENANTS" avant le lancement de la boucle). inutilement alourdissant.
    Je ferais personnellement ceci ( à la fin de la boucle) :
    1) effacement du commentaire
    2) détermination de la seule chaîne CH des intervenants
    3) si CH <> "" -->>
    ------ commentaire = "..........." & chr(10) & CH

  3. #3
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Ton code devrait être ceci :
    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
    ch = ""
             With Userform1.ListBox1
                For i = 0 To .ListCount - 1
                   If .Selected(i) = True Then
                      ch = ch & Chr(10) & .List(i)
                   End If
                Next i
             End With
             With Range("C20")
               .Interior.ColorIndex = 2
               .ClearComments
               If ch <> "" Then
                 .AddComment
                 .Comment.Text Text:="*************** INTERVENANTS ***************" & ch
                 .Comment.Visible = False
               End If
             End With

  4. #4
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2016
    Messages
    306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juin 2016
    Messages : 306
    Par défaut
    Bonjour Unparia,

    Merci beaucoup pour ton aide, mais je m'en suis sortis avec tes explications.
    Avec ta méthode il prend bien en compte tous les éléments sélectionnés.

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

Discussions similaires

  1. [XL-2007] Selection dans listbox
    Par Stepsbysteps dans le forum Excel
    Réponses: 1
    Dernier message: 16/07/2012, 11h56
  2. Interdire la selection dans une listBox
    Par beaf05 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 06/01/2012, 11h04
  3. Conserver selection dans une listbox
    Par Schopenhauer dans le forum Tkinter
    Réponses: 11
    Dernier message: 03/07/2011, 11h43
  4. la selection dans une listbox
    Par etoile_de_vie dans le forum C#
    Réponses: 4
    Dernier message: 23/09/2008, 14h57
  5. Problème de selected dans un listbox
    Par delichoc dans le forum ASP
    Réponses: 4
    Dernier message: 21/06/2008, 21h06

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