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 :

rafraichir une listbox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 49
    Par défaut rafraichir une listbox
    Bonjour,

    J'ai crée une listbox qui se rempli au fur et a mesure que l'utilisateur entre des données et click sur des boutons...
    Le probleme est que parfois la listbox ne se met pas a jour et c'est uniquement si je redimensionne la fenetre que la listebox se remet a jour avec les nouveaux elements inserés...

    Quelqu'un pourait il me dire comment forcer la mise a jour de cette listbox??

    Merci

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Donne ton code de mise à jour de ta listbox ainsi que l'événement qui permet ce rafraîchissement

  3. #3
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 49
    Par défaut
    Voila mon code (simplifié) :

    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
    Private Sub AddEpi_Click()
     
        Dim groupeEpiName As String
        Dim groupeEpiLabel As String
     
       groupeEpiName = Range("A1")
       groupeEpiLabel = Range ("A2")
     
       If SelectionOk(selection) Then
     
          If groupeEpiLabel <> "" Then
             ListBox_Epi.AddItem (groupeEpiLabel)
             Else: MsgBox "Erreur lors de la creation du groupe " & groupeEpiName
          End If
     
          Else: MsgBox "Veuillez entrer un nom de série valide"
     
       End If
     
    End Sub
    En fait, l'ajout se fait lorsque l'utilisateur selectionne certaines cellules et clik sur le bouton "AddEpi".. C'est la que un groupe se créé et son identifiant (groupeEpiLabel) s'insert dans la listbox
    Et c'est la que des fois cela pose probleme car la listbox n'affiche rien de plus, sauf quand on redimensionne la fenetre excel, ou l'affichage se remet a jour..
    Peut on donc forcer la mise a jour de la listbox ??
    Merci

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Déjà, je mettrais de préférence ce code sur l'événement MouseUp du bouton (c'est un choix... )
    Ensuite, j'ajouterais un DoEvents ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        If groupeEpiLabel <> "" Then
             ListBox_Epi.AddItem (groupeEpiLabel)
             DoEvents
             Else: MsgBox "Erreur lors de la creation du groupe " & groupeEpiName
        Endif
    Enfin, j'ignore ce qu'est "SelectionOk()" mais je suppose que c'est une fonction qui te retourne un boolean. Ce que je ferais si DoEvents ne change rien, c'est placer TOUTE ta procédure dans une sub indépendante que tu appelerais sur activation du bouton.
    J'ai déjà observé le phénomène que tu décris et cette dernière solution a réglé le pb.
    Tu dis
    A+

  5. #5
    Membre Expert Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Par défaut
    Eviter les propriétes par défaut (implicite)
    If groupeEpiLabel.VALUE <> "" Then
    ListBox_Epi.AddItem (groupeEpiLabel.VALUE)
    DoEvents
    Else: MsgBox "Erreur lors de la creation du groupe " & groupeEpiName
    Endif

Discussions similaires

  1. [PowerShell] Rafraichir une listbox
    Par julie75 dans le forum Scripts/Batch
    Réponses: 8
    Dernier message: 30/07/2011, 00h13
  2. [NSIS] Comment rafraichir une listBox ?
    Par maanifiik dans le forum Windows
    Réponses: 7
    Dernier message: 08/04/2010, 18h01
  3. Rafraichir une ListBox
    Par sissi00000 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/07/2008, 17h30
  4. Rafraichir une ListBox
    Par blasme dans le forum ASP.NET
    Réponses: 10
    Dernier message: 07/04/2008, 15h53
  5. Réponses: 6
    Dernier message: 02/06/2006, 11h44

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