Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Modification données dans listview

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

osiris150

XLDnaute Occasionnel
Bonjour,

Voilà, grâce à fhoest, j'ai pu obtenir une listview avec recherche qui fonctionne parfaitement.
J'ai au départ un userform dans lequel je saisis des données et qui agrémentent ma base.
Pour consulter mes données j'ai une listeview. J'ai la possibilité de faire une recherche via 2 critères ou alors une recherche libre.
Je souhaiterais pouvoir faire 1 chose en plus dans cette listview. Je ne sais pas si c'est dur à réaliser étant donné que mes connaissances en VBA sont très limitées...
J'espère que quelqu'un saura m'aider.
En fait, lorsque apparaît ma listview, je souhaiterais pouvoir en sélectionnant une ligne et en double cliquant dessus faire réapparaître la userform de saisie avec les données de
la ligne sélectionnée et pouvoir éventuellement modifier ces données.

En espérant avoir clair dans mon explication.
Merci par avance.

Ici fichier en pièce jointe :
 
Dernière édition:
Re : Modification données dans listview

Bonjours osiris, et à ceux qui passeront par ici,

Après avoir mis dans un module: Public N°INDEX As Integer
(Ou autre type plus académique, je ne maîtrise pas trop bien ce domaine)

Code:
Private Sub ListView1_DblClick() 
'Private Sub ListView1_Click ()  ' éventuellement simple Click
N°INDEX = Me.ListView1.SelectedItem.Index
End Sub

Puis par exemple:

Code:
Private Sub CommandButton1_Click()
Me.ListView1.ListItems(N°INDEX).ListSubItems(3).Text = "ESSAI"
End Sub

Je suis désolé de ne pouvoir être plus précis!
Notamment par le choix au hasard du SubItem(3)

Ton exemple est trop élaboré pour pouvoir facilement y entrer.
A noter que, par ailleurs, je remplacerais:

Code:
        For i = 3 To Sheets("Base").Range("A65536").End(xlUp).Row
           .ListItems.Add , , Sheets("Base").Cells(i, 3)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Base").Cells(i, 4)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Base").Cells(i, 5)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Base").Cells(i, 6)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Base").Cells(i, 7)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Base").Cells(i, 8)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Base").Cells(i, 9)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Base").Cells(i, 10)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Base").Cells(i, 11)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Base").Cells(i, 12)
           .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Base").Cells(i, 13)
           .ListItems(.ListItems.Count).ListSubItems.Add , , i
        Next

Par:

Code:
        For i = 3 To Sheets("Base").Range("A65536").End(xlUp).Row
           .ListItems.Add , , Sheets("Base").Cells(i, 3)
                 For j = 4 to 13
                  .ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Base").Cells(i, j)
                Next j
          .ListItems(.ListItems.Count).ListSubItems.Add , , i
        Next i

Amicalement

Yann
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
295
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…