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 :

Soucis de selection dans une Listview [XL-2007]


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 Soucis de selection dans une Listview
    Salut a tous, Forum salut

    J'ai une Listview(1) de 3 colonnes dans mon USF(1)

    La liste sur les 3 colonnes apparait bien avec les CheckBoxs affichés a gauche et elles sont toutes vides, ca c'est OK.

    (1) Je clic dans une checkBox pour sélectionner une ligne, celle ci se coche bien, mais la ligne n'est pas sélectionnée.

    (2) CheckBox vide, je clic sur une ligne, la checkBox se coche bien et ma vidéo démarre.

    53) Ma vidéo viens de se terminer, je clic sur une autre CheckBox et même problème voir cas (1), MAIS en plus le ou les
    autres précédentes CheckBoxs reste cochés.

    Le but: pour moi étant de cliquer dans une CheckBox que celle ci se coche et me sélectionne la ligne venant de passer en bleu
    et qui démarre a ce moment ma nouvelle sélection.

    Il ne m'ai pas utile de faire de la multi sélection MAIS uniquement une sélection par la case a cocher et une ligne a la fois et que
    cette ligne reste sélectionner jusqu'à la prochaine sélection.

    Merci de votre aide et bonne fin hélas de cette journée de noël.

    Cordialement Ray

    Le code ci dessous a sans doute besoin d'être corriger et modifier.

    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
     
    Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
              Dim Chemin As String, Film As String, FilmSelection As String: Dim ListItem As ListItem
     
     With UserForm1.ListView1
                ListView1.ListItems.Item(ListView1.SelectedItem.Index).Checked = _
          Not ListView1.ListItems.Item(ListView1.SelectedItem.Index).Checked                               'Clic checkbox cochée
     
                  'Set ListItem = ListView1.SelectedItem
               FilmSelection = UserForm1.ListView1.ListItems.Item(ListView1.SelectedItem.Index)
     
               Chemin = "H:\": Film = ListView1.ListItems(ListView1.SelectedItem.Index) & ".avi"
               Label91 = ListView1.ListItems(ListView1.SelectedItem.Index)                                   'Affiche le titre complet du film a visionner
       End With
     
           Shell """C:\Program Files\Windows Media Player\wmplayer.exe"" """ & Chemin & Film, vbMaximizedFocus  'Lance et visualise le film
    End Sub

  2. #2
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 9
    Par défaut
    Slt j'ai eu un pb exactement pareil dans le projet sur lequel je suis actuellement mais moi je code en C#.
    -- lorsque tu clique sur la checkbox, la ligne n'est pas sélectionnée
    -- mais lorsque tu clique sur la ligne la checkbox est bien sélectionnée
    pour traverser cela j'ai ajouté un bout de code dans mon évènement ItemCheck pour lui demander de sélectionner également la ligne lorsqu'on coche la checkbox

    private void listView1_ItemCheck(object sender, ItemCheckEventArgs e)
    {
    listView1.Items[e.Index].Selected = true;
    ...
    }
    En espéreant que cela puisse t'aider

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 9
    Par défaut
    Et pour que les autres éléments ne restent pas cochés lorsqu'on coche un checkbox, je m'arrangeais à décocher les autres cases qui sont cochés s'il y'en a

    private void listView1_ItemCheck(object sender, ItemCheckEventArgs e)
    {

    listView1.Items[e.Index].Selected = true;
    if (!listView1.Items[e.Index].Checked)
    {
    for (int i = 0; i < listView1.Items.Count; i++)
    {
    if (i != e.Index && listView1.Items[i].Checked)
    {
    listView1.Items[i].Checked = false;
    }
    }
    ...
    }

    je parcours la liste et je verifie s'il ya un element coché, qui n'est pas celui que je viens de cliquer alors on le décoche

  4. #4
    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 tetos,

    Merci pour ta réponse et le code, c'est très gentil a toi.

    je suis sous Excel 2007 en VBA

    Il y a des mots que je ne connais pas dans ton code.

    je ne suis pas sur que ca fonctionne en vba.

    pas assez féru déjà en vba alors la on ai mal

    je vais imprimer et je regarde

    merci a toi, a plus tard

    Cdlt Raymond

  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 tetos,

    j'ai essayer de fabriquer un bout de code vba avec tes données, mais rien réussi.

    Donc pour l'instant si je clic la case celle ci est bien cocher mais pas la ligne.
    -------

    Si je clic la ligne celle ci est bien passée en bleu et la case est coché.

    c'est la ligne qui coche la case étrange je ne vois pas l'intérêt des cases a cocher.

    Pour moi ca devrai être quand je coche la case que la ligne doit être sélectionner et bleue.
    -------

    Si quelqu'un saurai transposer le code qui m'ai proposer en VBA je suis preneur. ou voir une autre solution.

    Merci d'avance, une bonne soirée a tous et merci pour l'aide.

    Cdlt Raymond

  6. #6
    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 a tous,

    Personne pour me transposer le petit code proposer par l'ami tetos

    j'ai essayer de nombreuses fois et toujours une erreur ici ou la

    Cela pourrai peut être résoudre mon soucis premier.

    Merci a vous pour votre aide et vu l'heure bon app

    Cdlt Raymond

  7. #7
    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
    Citation Envoyé par tetos Voir le message
    Et pour que les autres éléments ne restent pas cochés lorsqu'on coche un checkbox, je m'arrangeais à décocher les autres cases qui sont cochés s'il y'en a

    private void listView1_ItemCheck(object sender, ItemCheckEventArgs e)
    {

    listView1.Items[e.Index].Selected = true;
    if (!listView1.Items[e.Index].Checked)
    {
    for (int i = 0; i < listView1.Items.Count; i++)
    {
    if (i != e.Index && listView1.Items[i].Checked)
    {
    listView1.Items[i].Checked = false;
    }
    }
    ...
    }

    je parcours la liste et je verifie s'il ya un element coché, qui n'est pas celui que je viens de cliquer alors on le décoche
    Salut tetos

    Réponse faites par MP

    merci

    bonne après midi a toi

    Cdlt Ray

  8. #8
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    Bonjour,

    c'est bien dommage de passer vos reponses en MP, car elles auraient pu servir a l'ensemble de la communaute
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  9. #9
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 9
    Par défaut
    Désolé vous avez parfaitement raison,

    Mais en fait on a pas encore trouvé la solution et lorsque ce sera le cas on la mettra sans aucun doute dans la discussion.

    Merci

  10. #10
    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
    Citation Envoyé par Jean-Philippe André Voir le message
    Bonjour,

    c'est bien dommage de passer vos reponses en MP, car elles auraient pu servir a l'ensemble de la communaute
    Salut Jean-Philippe

    Je suis tout a fait d'accord avec toi mais du haut de mes 64 ans, je ne peux rester indulgent devant les différentes façons de répondre aux gens.
    Un minimum de respect s'impose.

    Je suis peut être pas bon ni doué en VBA mais ma vie n'ai pas consacrer qu'a l'informatique et tout le monde n'a certainement pas
    votre don pour la programmation mais je sais faire bien d'autres choses que je partage bien volontiers quand on me demande.

    Ceci dit j'aurai et je mettrais la réponse si une solution est trouver a ma demande.

    Je cherche et je procède a de nombreux essais mais ce n'ai pas toujours gagner d'avance

    Voila juste un peu désoler

    Bien Cordialement Raymond et bonnes fêtes de fin d'année a tous

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

Discussions similaires

  1. Selection d'un item dans une listview
    Par skunkies dans le forum Windows Forms
    Réponses: 3
    Dernier message: 22/12/2008, 16h01
  2. Réponses: 1
    Dernier message: 06/02/2008, 09h10
  3. selection multiple dans une listView
    Par 9tita dans le forum C#
    Réponses: 8
    Dernier message: 29/10/2007, 17h07
  4. selection dans une listview
    Par zmatz dans le forum Windows Forms
    Réponses: 1
    Dernier message: 21/06/2007, 22h01
  5. Selection dans une listview..
    Par remixtech dans le forum Composants VCL
    Réponses: 1
    Dernier message: 25/01/2006, 22h10

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