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 :

Récupérer données d'une ligne sélectionnée (ListView)


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2015
    Messages : 156
    Par défaut Récupérer données d'une ligne sélectionnée (ListView)
    Bonjour bonjour,

    J'ai créé un formulaire pour compléter un ListView. J'aimerais que l'utilisateur puisse modifier l'un de ces lignes si celui-ci le désirait. J'aimerais donc que lorsque l'utilisateur clique sur une ligne, le contenu de cette ligne (2 colonnes en tout), soit retranscrit. La première colonne dans un ComboBox et la Deuxième dans un TextBox. Cependant, mon code ne semble pas fonctionné. J'ai une erreur du type:

    "Erreur d'exécution 91 : Variable objet ou variable de bloc With non définie".

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub ListViewDefinitionActivites_ItemClick(ByVal Item As MSComctlLib.ListItem)
     
    '#### Lors qu'une ligne est sélectionnée, le contenu de cette ligne est transféré dans les objets associés.
     
    ComboBoxCriteresAlimentes.Text = ListViewDefinitionActivites.SelectedItem.ListSubItems(0).Text
    TextBoxPoints.Text = ListViewDefinitionActivites.SelectedItem.ListSubItems(1).Text
     
    End Sub
    Merci d'avance pour l'aide

  2. #2
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    si tu veux ajouter le contenu de la colonne 1 dans un combobox, il faut utiliser la méthode Add de l'objet Combobox

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub ListViewDefinitionActivites_ItemClick(ByVal Item As MSComctlLib.ListItem)
     
    '#### Lors qu'une ligne est sélectionnée, le contenu de cette ligne est transféré dans les objets associés.
     
    ComboBoxCriteresAlimentes.Add ListViewDefinitionActivites.SelectedItem.ListSubItems(0)
    TextBoxPoints.Text = ListViewDefinitionActivites.SelectedItem.ListSubItems(1).Text
     
    End Sub
    et si tu veux que la valeur de la colonne 1 soit affichée par défaut dans ton combobox, tu ajoutes cette ligne après le Add du combobox

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ComboBoxCriteresAlimentes.value = ListViewDefinitionActivites.SelectedItem.ListSubItems(0)

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2015
    Messages : 156
    Par défaut ListView récupérer les données de la ligne sélectionnée
    Bonjour,


    Merci pour ta réponse. Cependant cela e fonctionne toujours pas :/


    J'ai même essayé en ne laissant que la ligne de code permettant de remplir la TextBox mais rien n'y fait... La même erreur s'affiche :/


    Que faire ?

  4. #4
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Olala, ça m'apprendra à pas tester

    bon alors, mea culpa pour la coquille, c'est la méthode AddItem et pas Add !

    ensuite, tu indiques vouloir récupérer la colonne 1 dans ton combobox, mais tu pointes sur la seconde colonne:

    SelectedItem : première colonne
    ListSubItems(1) : deuxième colonne
    ListSubItems(2) : troisième colonne
    etc...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub ListViewDefinitionActivites_ItemClick(ByVal Item As MSComctlLib.ListItem)
     
    '#### Lors qu'une ligne est sélectionnée, le contenu de cette ligne est transféré dans les objets associés.
     
    ComboBoxCriteresAlimentes.AddItem ListViewDefinitionActivites.SelectedItem
    TextBoxPoints = ListViewDefinitionActivites.SelectedItem.ListSubItems(1)
     
    End Sub

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    156
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2015
    Messages : 156
    Par défaut Re
    Re,


    Merci à toi, ça fonctionne !

    Solution toute simple en plus !

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

Discussions similaires

  1. [XL-2003] incrémenter des textbox avec les données d'une ligne sélectionnée
    Par Liloo14 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/08/2013, 20h26
  2. Récupérer données sur une seule ligne
    Par ximun974 dans le forum Requêtes
    Réponses: 1
    Dernier message: 25/01/2011, 18h50
  3. Réponses: 10
    Dernier message: 06/05/2010, 20h51
  4. [XL-2003] Modifier une ligne sélectionné dans une listView
    Par monichou86 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 29/12/2009, 17h49
  5. [VBA-E]récupérer le nom des lignes sélectionnées d'une listbox
    Par Ania dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 06/06/2006, 11h28

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