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

  1. #1
    Membre actif
    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
    Points : 217
    Points
    217
    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 à l'essai
    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
    Points : 12
    Points
    12
    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 à l'essai
    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
    Points : 12
    Points
    12
    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 actif
    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
    Points : 217
    Points
    217
    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 actif
    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
    Points : 217
    Points
    217
    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 actif
    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
    Points : 217
    Points
    217
    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 actif
    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
    Points : 217
    Points
    217
    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
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 593
    Points : 34 250
    Points
    34 250
    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 :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

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

    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 à l'essai
    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
    Points : 12
    Points
    12
    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
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 593
    Points : 34 250
    Points
    34 250
    Par défaut
    Certes,
    mais meme connaitre les raisonnements, essais et echecs rencontres peuvent permettre aux membres de s'interesser egalement au probleme.

    Vous n'etes pas seuls
    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 :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

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

    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

  11. #11
    Membre à l'essai
    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
    Points : 12
    Points
    12
    Par défaut
    C'est très vrai ce que vous dites,
    Nous le ferons à partir de maintenant
    Merci encore pour la remarque

    Cdlt

  12. #12
    Membre actif
    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
    Points : 217
    Points
    217
    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

  13. #13
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 593
    Points : 34 250
    Points
    34 250
    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 :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

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

    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

  14. #14
    Membre actif
    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
    Points : 217
    Points
    217
    Par défaut
    Bonjour a tous, Salut Forum

    Après maintes essais, j'arrive a sélectionner une ligne en cliquant sur la case a cocher

    Je coche une ligne et le film choisi démarre

    mais si je re coche une autre ligne le nouveau film choisi démarre

    >>> MAIS la case précédente (reste cocher) MAIS pas la ligne

    Après essais pour effacer (la où les cases qui sont rester cocher SAUF bien sur la dernière sélection qui doit rester cocher et en surbrillance)

    il me manque ce test que je n'arrive pas a faire fonctionner

    si quelqu'un veux bien m'aider, je l'en remercie par avance

    PS: Je viens de m'apercevoir que lorsque je clic pour sélectionner vers le bas c'est bon MAIS pas vers le haut ca coche seulement la case mais pas la ligne

    Donc encore un soucis

    Bon réveillon a tous et merci

    Cdlt Raymond


    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
    30
    31
    32
    33
    34
     
    '### Sélection d'un film dans Listview1 par(ItemCheck)
    Private Sub ListView1_ItemCheck(ByVal Item As MSComctlLib.ListItem)
            Dim Chemin As String: Dim ListItem As ListItem: Dim i As Integer, Efface As Integer
            Dim FilmSelection As String
     
          For i = 1 To ListView1.ListItems.Count
     
                    If ListView1.ListItems(i).Checked = True Then
     
                       ListView1.ListItems(i).Selected = True
     
          If ListView1.ListItems(i).Checked = False Then ListView1.ListItems(i).Checked = True
     
                    End If
    Next i
                              FilmSelection = ListView1.ListItems.Item(ListView1.SelectedItem.Index)
     
    '#################
    'Efface les checkbox qui sont cochés SAUF celle qui est sélectionner
    'Mais ca ne fonctionne pas
     
    'For Efface = 1 To ListView1.ListItems.Count
    '  If ListView1.ListItems(Efface).Checked = True Then ListView1.ListItems(Efface).Checked = False
    'Next Efface
    '################
     
               Label91.Caption = Left(FilmSelection, Len(FilmSelection) - 4)      '& ".avi" 'Affiche titre du film a visionner sans extension .avi
               WindowsMediaPlayer1.URL = "H:\" & FilmSelection                    'Lance et visualise le film avec le nom complet
     
               WindowsMediaPlayer1.Width = 240                                    'Largeur du WMP
               WindowsMediaPlayer1.Height = 240                                   'Hauteur du WMP
               WindowsMediaPlayer1.uiMode = "Full"                                'Mode "Full Mini None Invisible"
    End Sub

  15. #15
    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
    Bonsoir eliot raymond
    tu as oublier de dire d’où viens cette ligne de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If ListView1.ListItems(i).Checked = False Then ListView1.ListItems(i).Checked = True
    Pascal

  16. #16
    Membre actif
    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
    Points : 217
    Points
    217
    Par défaut
    Salut Grisan29

    Une solution obtenu sur ton site lors d'un soucis lier a d'autres pour arriver a programmer ma Listview qui me cause pas mal de soucis.

    c'est forcément similaire a d'autres questions poser ou je cherche des résultats.

    Meilleurs vœux 2017

    Cdlt Raymond

  17. #17
    Expert éminent
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Points : 6 871
    Points
    6 871
    Par défaut
    Bonjour,

    Bonne et heureuse année 2017 !

    Si tu ne veux avoir que l"élément cliqué qui soit et coché et sélectionné, il te faux décocher et dé-sélectionner les autres (enfin, si j'ai bien compris la demande) :
    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
    30
    31
     
    Private Sub ListView1_ItemCheck(ByVal Item As MSComctlLib.ListItem)
     
            Dim I As Integer
            Dim FilmSelection As String
     
        For I = 1 To ListView1.ListItems.Count
     
            If I = Item.Index Then
     
                ListView1.ListItems(I).Selected = True
     
            Else
     
                ListView1.ListItems(I).Checked = False
                ListView1.ListItems(I).Selected = False
     
            End If
     
        Next I
     
        FilmSelection = ListView1.ListItems.Item(ListView1.SelectedItem.Index)
     
    '    Label91.Caption = Left(FilmSelection, Len(FilmSelection) - 4)      '& ".avi" 'Affiche titre du film a visionner sans extension .avi
    '    WindowsMediaPlayer1.URL = "H:\" & FilmSelection                    'Lance et visualise le film avec le nom complet
    '
    '    WindowsMediaPlayer1.Width = 240                                    'Largeur du WMP
    '    WindowsMediaPlayer1.Height = 240                                   'Hauteur du WMP
    '    WindowsMediaPlayer1.uiMode = "Full"                                'Mode "Full Mini None Invisible"
     
    End Sub

  18. #18
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Bonjour Theze
    J'éviterais personnellement la boucle en mettant en mémoire, dans une variable générale titi, l'index de la sélection faite
    A chaque nouvelle sélection d'une ligne, je désélectionnerais les deux (la ligne et la checkbox), puis
    -- donnerais à titi sa valeur nouvelle
    -- dirais que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListView1.ListItems(titi).Checked = ListView1.ListItems(titi).Selected
    (dire que listview1.listitems(titi).selected prend la valeur de l'état de la checkbox correspondante). Or, un clic sur une ligne aura également provoqué un changement d'état de la checkbox, etc ...

    C'est nonobstant gérable en utilisant la méthode dite "du menteur" ou "prêche du faux pour connaître le vrai"

    Mais qu'est-ce qui justifierait, dans cette affaire, une telle acrobatie ?
    Car à vrai dire : je vois mal la raison de checkboxes qui font purement et simplement double emploi avec des sélections.
    Bonne année à tous.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  19. #19
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 82
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    Voilà ce que je te suggère, en tout début de cette nouvelle année, si tu tiens vraiment à tes checkboxes.
    Ce sont alors les lignes, que je vais totalement ignorer (je n'aime en effet ni les croche-pieds, ni les acrobaties inutiles, ni les "jeux du menteur", ni la "prêche du faux pour connaître le vrai" dont j'ai parlé plus haut ).
    Regarde ce que fait ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Private titi As Long ' ------>> TRES IMPORTANT et MIS ICI
     
    Private Sub ListView1_ItemCheck(ByVal Item As MSComctlLib.ListItem)
      If titi > 0 Then ListView1.ListItems(titi).Checked = False
      If titi < 1 Then titi = Item.Index
      ListView1.ListItems(titi).Selected = False
      ListView1.ListItems(Item.Index).Selected = ListView1.ListItems(Item.Index).Checked
      titi = Item.Index
    End Sub
     
    Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
      ListView1.ListItems(Item.Index).Selected = False
    End Sub
    Tu ne pourras que cocher/décocher, toute action sur une ligne demeurant vaine, et tout cochage/décochage aura l'effet que tu souhaites.

    Je ne l'ai toutefois fait que pour saluer le 1er jour de l'année. Car je maintiens ce que j'ai dit plus haut : ce sont là des double-emplois étranges et quasi contraires à l'esprit informatique même.
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.

  20. #20
    Membre actif
    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
    Points : 217
    Points
    217
    Par défaut
    Salut theze et unparia,

    Forum meilleurs vœux pour l'année 2017.

    Avant toutes choses, je vous souhaite une bonne et heureuse année 2017 que les dieux informatiques soient avec vous.

    J'ai fait des essais avec vos propositions et j'ai retenu celle de L'ami Theze que je salue au passage, ca fonctionne très bien
    et réponds exactement a mon besoin et de ce que je souhaitai réaliser sauf que je n'ai pas su effectuer les tests corrects au
    bon fonctionnements recherchés.

    Pour le code proposer par l'ami unparia une possibilité d'utilisation pour toutes autres choses, je bosse dessus.

    je n'aime en effet ni les croche-pieds, ni les acrobaties inutiles, ni les "jeux du menteur", ni la "prêche du faux pour connaître le vrai
    Si c'est pour moi, tu a tout faux, car pour moi un but, solution y parvenir.

    Mais c'est sympa pour les codes proposer et je t'en remercie.

    Bonne fin d'après midi et vive 2017 que du bonheur a tous et merci beaucoup pour l'aide apporter ainsi que de votre savoir partager sur ce site.

    A bientôt encore merci a tous

    Cordialement Raymond

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

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