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 ListView


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 31
    Par défaut Rafraichir une ListView
    Bonjour,

    J'ai un form avec une ListView qui est alimentée par des données qui se trouvent sur une feuille Excel.

    J'ai aussi un bouton qui supprime la ligne sélectionnée, avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Worksheets("feuil1").Cells(ListView1.SelectedItem.index + 1, 1).EntireRow.Delete
    Mon problème est que quand la ligne est supprimée, elle apparait toujours dans la ListView. Je voudrais actualiser (rafraichir) la ListeView

    J'ai essayé la chose suivante : mais ça ne marche pas.

    Je voudrais eviter, si possible de fermer puis réouvrir le formulaire.

    J'utiliise peut-etre mal la méthode refresh (je n'ai pas trouvé d'info dans l'aide)

    Merci

  2. #2
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Il faut peut-être aussi effacer la ligne du ListView, non ?

    À moins qu'il existe une quelconque liaison dynamique entre ton ListView et les données source.

    Comment remplis-tu le ListView ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 44
    Par défaut
    Juste après ta ligne de suppression dans la feuille :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListView1.ListItems.Remove(ListView1.SelectedItem.index)
    Si tu remplis un contrôle par programmation ("à la main") il n'y pas de liaison entre ce contrôle et la source de données (databinding.)

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 31
    Par défaut
    je rempli ma listview à l'initialisation du formulaire avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For i = 2 To Worksheets("feuil1").Range("A65536").End(xlUp).Offset(1, 0).Row - 1
               .ListItems.Add , , Worksheets("feuil1").Cells(i, 1)
               .ListItems(i - 1).ListSubItems.Add , , Worksheets("feuil1").Cells(i, 2)
               .ListItems(i - 1).ListSubItems.Add , , Worksheets("feuil1").Cells(i, 3)
    la solution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListView1.ListItems.Remove (ListView1.SelectedItem.index)
    marche bien.

    Mais du coup je me rend compte quelle est pas valable si je modifie une ligne.

    En fait j'ai un autre bouton "Modifier" Qui ouvre un 2eme formulaire qui contient les données de la ligne.

    j'enregistre les modifications, elles sont prise en compte sur la feuille, mais quand je réaffiche le form1 (celui avec la listview) les modif ne sont pas prise en compte (car j'alimente uniquement la listview à l'inisialisation du form1).

    comment faire quand je modifie une ligne pour que la modif soit prise en compte dans la listeview ?

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

Discussions similaires

  1. Rafraichir une Listview
    Par helio500 dans le forum VB.NET
    Réponses: 5
    Dernier message: 11/09/2013, 14h25
  2. Rafraichir des données d'une ListView
    Par anto2b dans le forum Composants graphiques
    Réponses: 2
    Dernier message: 03/07/2012, 16h42
  3. Comment rafraichir une listView contenue dans un tab?
    Par GroXx dans le forum Composants graphiques
    Réponses: 5
    Dernier message: 28/03/2011, 00h41
  4. Rafraichir une seule cellule dans une listView
    Par bonofred dans le forum Composants graphiques
    Réponses: 3
    Dernier message: 27/01/2011, 11h52
  5. Rafraichir une listview
    Par Sly2k dans le forum VB.NET
    Réponses: 5
    Dernier message: 02/08/2007, 15h28

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