Modifier une cellule

4 réponses
Avatar
Brat'ac
Bonjour,

Est-il possible de modifier une cellule à partir d'une Listview?

Dans un Userform dans lequel il y a une listview avec les données d'une
feuille j'aimerais pouvoir modifier directement une cellule de la
feuille à partir de la listview et que la modif se répercute sur la
feuille.

Je ne sais pas si j'ai été clair ?


Merci

GS

4 réponses

Avatar
MichD
Bonjour,

Je ne suis pas sûr que j'ai nécessairement tout compris, mais tu peux
facilement récupérer l'item du ListView sur lequel tu as cliqué.

Un petit exemple : Supposons un Listview affichant 4 colonnes.

En cliquant sur une ligne particulière du ListView, tu peux récupérer
le contenu des 4 colonnes de la ligne sur laquelle tu as cliqué.
Au lieu de l'afficher dans un message, tu copies l'information dans
la ou les cellules de ton choix de la feuille de calcul.

'---------------------------
Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)

MsgBox Item.Text & "," & vbCrLf & Item.ListSubItems(1).Text & _
", " & Item.ListSubItems(2).Text & _
Item.ListSubItems(3).Text

End Sub
'---------------------------


MichD
---------------------------------------------------------------
Avatar
Brat'ac
MichD avait énoncé :
Bonjour,

Je ne suis pas sûr que j'ai nécessairement tout compris, mais tu peux
facilement récupérer l'item du ListView sur lequel tu as cliqué.

Un petit exemple : Supposons un Listview affichant 4 colonnes.

En cliquant sur une ligne particulière du ListView, tu peux récupérer
le contenu des 4 colonnes de la ligne sur laquelle tu as cliqué.
Au lieu de l'afficher dans un message, tu copies l'information dans
la ou les cellules de ton choix de la feuille de calcul.

'---------------------------
Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)

MsgBox Item.Text & "," & vbCrLf & Item.ListSubItems(1).Text & _
", " & Item.ListSubItems(2).Text & _
Item.ListSubItems(3).Text

End Sub
'---------------------------



En fait je voudrais modifier la cellule de la ligne sélectionnée de la
ListeView (directement sur celle-ci) et rapporter cette modification
sur la cellule de la feuille.
Avatar
MichD
Pour ajouter un item ou du texte dans un listbox

With ListView1
'Ajoute une ligne
.ListItems.Add '... et ce que tu veux ajouter
'pour ajouter des sous-items (colonnes)
.ListItems(i).ListSubItems.Add ... ce que tu veux ajouter
End with

Pour identifier la ligne sur laquelle tu viens de cliquer dans le Listview, tu as ceci :

'-------------------------
Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
MsgBox ListView1.ListItems(Item.Index).Index
End Sub
'-------------------------

Tu peux mettre cette ligne dans une variable déclarée au niveau du formulaire (haut du
formulaire)
elle sera disponible pour les autres procédures le cas échéant.

Si tu as la ligne du listbox à modifier, il ne te reste plus qu'à renseigner les valeurs
que tu désires.
Il en va de même pour la valeur correspondante dans ton tableau dans Excel.

Je ne peux pas te donner un code avec clé en main, je ne peux pas deviner ce qu'il y a
dans ton ListView,
et je ne connais pas les détails de ce que tu veux faire ou ce qu'on application doit
faire.



MichD
---------------------------------------------------------------
Avatar
Brat'ac
MichD vient de nous annoncer :
Pour ajouter un item ou du texte dans un listbox

With ListView1
'Ajoute une ligne
.ListItems.Add '... et ce que tu veux ajouter
'pour ajouter des sous-items (colonnes)
.ListItems(i).ListSubItems.Add ... ce que tu veux ajouter
End with

Pour identifier la ligne sur laquelle tu viens de cliquer dans le Listview,
tu as ceci :

'-------------------------
Private Sub ListView1_ItemClick(ByVal Item As MSComctlLib.ListItem)
MsgBox ListView1.ListItems(Item.Index).Index
End Sub
'-------------------------

Tu peux mettre cette ligne dans une variable déclarée au niveau du formulaire
(haut du formulaire)
elle sera disponible pour les autres procédures le cas échéant.

Si tu as la ligne du listbox à modifier, il ne te reste plus qu'à renseigner
les valeurs que tu désires.
Il en va de même pour la valeur correspondante dans ton tableau dans Excel.

Je ne peux pas te donner un code avec clé en main, je ne peux pas deviner ce
qu'il y a dans ton ListView,
et je ne connais pas les détails de ce que tu veux faire ou ce qu'on
application doit faire.



MichD
---------------------------------------------------------------



Merci bien, je vais explorer et essayer tous cela.
Bonne fin d'après-midi.