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 :

Deselection dans une ListBox


Sujet :

Macros et VBA Excel

  1. #1
    Membre émérite Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Points : 2 439
    Points
    2 439
    Par défaut Deselection dans une ListBox
    Bonjour à tous,

    Je travaille actuellement sur une bibliothèque de prestataires dans le cadre de mon travail.

    J'ai divers champs de recherche qui actualisent une ListBox nommée L_UF_Prestataires. Le requetage se fait via du SQL qui actualise un tableau (tableau au sens d'Excel) dans mon classeur.
    Lors d'une recherche infructueuse, le tableau contient une seule ligne qui est vide.

    Ma problématique arrive :
    J'utilise l'évènement Private Sub L_UF_Prestataires_Click() pour afficher un tas d'informations dans l'intégralité de mon UF.
    Je voudrais empêcher la sélection de l'unique ligne vide lors d'une recherche infructueuse.

    Voilà donc le début de mon code sur l'évènement clic dans la ListBox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub L_UF_Prestataires_Click()
        Dim id$ 'Mes identifiants de presta sont des codes alphanum
        With ufBibliPresta
            id = .L_UF_Prestataires.List(.L_UF_Prestataires.ListIndex, 0) 'Je récupère l'id qui est en première colonne de ma requête
            'Si Pas d'identifiant, je désélectionne (ListIndex = -1)
            If id = "" Then
                .L_UF_Prestataires.ListIndex = -1:  GoTo fin
            End If
            '*************
            'Suite du code
            '*************
        End With
    fin:
    End Sub
    Mais rien à faire, la première ligne reste sélectionnée (ListIndex = 0)


    J'espère être clair dans l'explication.
    Merci d'avance à ceux qui prendront le temps de me répondre.

    Bonne journée à tous
    Antony

    Mieux vaut ne rien dire et passer pour un con que de l'ouvrir et ne laisser aucun doute à ce sujet.
    Gustave Parking


    Si le post vous est utile un petit fait toujours plaisir et pensez à passer en

    Et surtout -> Balise CODE

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    If Trim("" & Me.ComboBox1) = "" Then Me.ComboBox1.ListIndex = -1: Exit Sub

  3. #3
    Membre émérite Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Points : 2 439
    Points
    2 439
    Par défaut
    Pardon rdurupt mais je ne comprends pas l'utilisation du trim.

    Apres un test en mode pas à pas,
    La condition dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If id = "" Then:   .L_UF_Prestataires.ListIndex = -1:  GoTo fin:   End If
    est bien satisfaite.

    Donc la ligne .L_UF_Prestataires.ListIndex = -1 est bien exécutée. Mais la ligne d'indice 0 reste sélectionnée dans la ListBox.

    Je suis un peu perdu car c'est bien la première fois que je suis embêté avec .ListIndex
    Antony

    Mieux vaut ne rien dire et passer pour un con que de l'ouvrir et ne laisser aucun doute à ce sujet.
    Gustave Parking


    Si le post vous est utile un petit fait toujours plaisir et pensez à passer en

    Et surtout -> Balise CODE

  4. #4
    Membre émérite Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Points : 2 439
    Points
    2 439
    Par défaut
    Re bonjour,

    J'ai testé les 3 solutions suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If id = "" Then
        .L_UF_Prestataires.Selected(0) = False: GoTo fin
    End If
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If id = "" Then
        .L_UF_Prestataires.ListIndex = -1: GoTo fin
    End If
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If id = "" Then
        .L_UF_Prestataires.MultiSelect = fmMultiSelectMulti
        .L_UF_Prestataires.MultiSelect = fmMultiSelectSingle
            GoTo fin
    End If
    Mais toutes sans succès
    La ligne d'index TopIndex qui vaut 0 dans le cas qui pose problème reste sélectionnée.

    Toutes vos propositions sont les bienvenues.
    Antony

    Mieux vaut ne rien dire et passer pour un con que de l'ouvrir et ne laisser aucun doute à ce sujet.
    Gustave Parking


    Si le post vous est utile un petit fait toujours plaisir et pensez à passer en

    Et surtout -> Balise CODE

Discussions similaires

  1. recherche dans une listbox
    Par micknic dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 23/02/2005, 21h39
  2. Clique droit dans une ListBox
    Par LoicH dans le forum C++Builder
    Réponses: 5
    Dernier message: 07/02/2005, 22h50
  3. [debutant] supprimer elements dans une listbox
    Par F.F. dans le forum C++Builder
    Réponses: 8
    Dernier message: 02/07/2004, 11h38
  4. [WIN32]tabulation dans une listbox
    Par stoluup dans le forum MFC
    Réponses: 2
    Dernier message: 09/06/2004, 10h11
  5. Icône a coté du texte dans une ListBox
    Par joce3000 dans le forum C++Builder
    Réponses: 6
    Dernier message: 05/12/2003, 02h25

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