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 :

Définir un raccourci pour une sélection rapide sur un listbox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Collégien
    Inscrit en
    Juillet 2017
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Maroc

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Juillet 2017
    Messages : 21
    Par défaut Définir un raccourci pour une sélection rapide sur un listbox
    Bonjour ,

    J'ai un programme qui contient un listbox1 qui fonctionne correctement , cependant je sais pas comment définir un raccourci ( comme shift + down / up ) pour sélectionner rapidement sur ma listbox. la sélection par souris est trés ennyante.
    Je veux une fois que la sélection se fait comme si on travaille avec les cellules lorsqu'on sélectionne à l'aide du mouse.

    J'attends vos réponse , J'ai cherché mais rien trouvé ds le web
    Merci bcp d'avance , Mouad.

  2. #2
    Membre averti
    Homme Profil pro
    Collégien
    Inscrit en
    Juillet 2017
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Maroc

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Juillet 2017
    Messages : 21
    Par défaut
    Autrement dit : Auto select ListBoxItem when mouse over

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    ca n'existe pas il faut astucé et encore le resultat visuel pendant la descente est BOFF

    teste ca
    tu apui avec la souris sur le premier item que tu veux
    et en restant apuyé tu descends
    quand tu lache tu a ta multiselection
    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
    Dim a&
    Dim z&
    Private Sub ListBox2_Click()
    a = ListBox2.ListIndex
    End Sub
    Private Sub ListBox2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
        With ListBox2
            If Button = 1 Then
                If a = 0 Then a = .ListIndex: z = 0:   .List = .List: .ListIndex = a 'For i = a To z: .Selected(i) = False: Next
                .Selected(.ListIndex) = True
                z = .ListIndex
            End If
        End With
    End Sub
    Private Sub ListBox2_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
        With ListBox2
            .List = .List
            If z > 0 Then
                For i = a To z: .Selected(i) = True: Next
            Else
               .ListIndex = a
            End If
     
        End With
    a = 0: z = 0
    End Sub
    Private Sub UserForm_Activate()
        For i = 1 To 30
              ListBox2.AddItem i
        Next
    End Sub
    c'est une ebauche a pofiner bien sur
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re selectionner x item d'affilé avec la touche Maj appuyée
    re
    bon ben je me suis fourvoyé en te disant non
    en fait c'est un jeu astucieux avec la constante "shift" de l'evenement MouseMove dans le quel on utilisera une condition sur le bouton de la souris

    dans cet exemple si je reste apuyé sur la touche "Maj" attention pas la la "Maj verouill"
    et que : en restant apuyé sur le bouton gauche de la souris et que je descends ou monte dans la listbox la selection est gardée

    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
    Private Sub ListBox2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
        With ListBox2
            If Button = 1 Then
                If Shift = 0 Then
                   If .ListIndex > 1 Then .Selected(.ListIndex - 1) = False
                .Selected(.ListIndex) = True
                 If .ListIndex < .ListCount - 2 Then .Selected(.ListIndex + 1) = False
                ElseIf Shift = 2 Then
                    .Selected(.ListIndex) = True
                End If
            End If
        End With
    End Sub
    Private Sub ListBox2_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
        Dim i&, t$
        With ListBox2
            For i = 0 To .ListCount - 1
                If .Selected(i) = True Then t = t & " " & .List(i)
            Next
            Me.Caption = "item selectionnés " & Replace(Application.Trim(t), " ", ",")
        End With
    End Sub
    Nom : demo5.gif
Affichages : 296
Taille : 247,8 Ko

    si tu veux ctrl+maj c'est 3 a la place de 2
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  5. #5
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 122
    Par défaut
    Salut

    La sélection multiple sur les listbox est grandement améliorée en passant la propriété MultiSelect à MultiSelectExtended.
    La sélection peut se faire au clavier, à la souri "à la volée", en utilisant Shift, Ctrl,...

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    @qwazerty
    su 2007 visiblement le mode extented selectionne a la volée sans shift
    ce qui fait que tu ne peux plus selectionner qu'un ( tu n'a pas les deux mode dispo)
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  7. #7
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 122
    Par défaut
    Il suffit d'utiliser Ctrl

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

Discussions similaires

  1. [XL-2007] Boucle pour une sélection multiple par nom sur un tableau croisé dynamique VBA
    Par kuro200 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/06/2015, 20h31
  2. [Web Service][SOAP] Comment définir un timeout pour une connexion SOAP ?
    Par lehic dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 26/06/2007, 17h07
  3. Réponses: 5
    Dernier message: 10/05/2007, 19h04
  4. [Tomcat] définir un port pour une application
    Par Mrlud dans le forum Tomcat et TomEE
    Réponses: 10
    Dernier message: 14/06/2005, 17h33
  5. Besoin d'un conseil pour une sélection Access/fichier
    Par Oluha dans le forum Bases de données
    Réponses: 1
    Dernier message: 20/03/2005, 19h10

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