[vba-03] (modification données ListView) Débutant, je sollicite votre aide.

fadan

XLDnaute Nouveau
Bonjour le forum,

Je m'adresse à vous car je ne sais pas par où commencer pour modifier les données affichées dans une listview.

A partir de textbox, j'ajoute des données dans une listview, mais comment selectionner toute une ligne de la listview pour l'afficher dans les textbox pour ensuite modifier et renvoyer le tout dans la listview au même endroit.

Merci d'avance.
 

jp14

XLDnaute Barbatruc
Re : [vba-03] (modification données ListView) Débutant, je sollicite votre aide.

Bonsoir fadan
Bobsoir job75

Un exemple sur ce fil
https://www.excel-downloads.com/threads/userform-et-filtre-des-donnees.108668/

Fichier 8122008b.zip

Ci dessous un exemple de code
Code:
' pour écrire dans des textbox
Private Sub Listview1_DblClick()
   TextBox1.Value = Listview1.SelectedItem.Text
    For i = 1 To 4
        Me.Controls("TextBox" & i + 1).value = Listview1.SelectedItem.SubItems(i).text
  
    Next
nulist =  Listview1.SelectedItem.Index
End Sub

' pour mettre à jour la listview
    Listview1.ListItems(nulist).Text = TextBox1.Value
    For i = 1 To 4
    Listview1.ListItems(nulist).SubItems(i).text =  Me.Controls("TextBox" & i + 1).value = 
  
    Next

End Sub

Attention la base de données n'est pas mise à jour.

JP
 
Dernière édition:

fadan

XLDnaute Nouveau
Re : [vba-03] (modification données ListView) Débutant, je sollicite votre aide.

Bonjour le forum,

Je remercie job75 et jp14 pour m'avoir répondu.

J'ai suivi le fil de jp14, et j'espere pouvoir l'adapter à mes bessoins, je reviendrais donc ici pour vous tenir au courant de l'évolution.

Encore merci à vous.
fadan
 

fadan

XLDnaute Nouveau
Re : [vba-03] (modification données ListView) Débutant, je sollicite votre aide.

Bonjour le forum,

J'ai suivi le fil de jp14 que je remercie encore, mais je n'ai pas trouvé la solution car en fait j'alimente une ListView avec les données de textBox mais aussi d'un ComboBox et d'un Label.

Sans avoir trouvé la solution pour modifier les données d'une ListView ce lien m'a permis de découvrir d'autres sources.

J'ai laissé un fichier pour que vous puissiez y voir plus clair.

Encore merci au forum.
fadan
 

Pièces jointes

  • projet.zip
    24.3 KB · Affichages: 339
  • projet.zip
    24.3 KB · Affichages: 356
  • projet.zip
    24.3 KB · Affichages: 361

jp14

XLDnaute Barbatruc
Re : [vba-03] (modification données ListView) Débutant, je sollicite votre aide.

Bonjour

Ci joint le fichier avec transfert des données de la listview vers les textbox.
Mise à jour de la listview et de la base de données ( à terminer ).
J'ai rajouté une colonne dans la listview.

A tester

JP
 

Pièces jointes

  • projet.zip
    19.8 KB · Affichages: 291
  • projet.zip
    19.8 KB · Affichages: 302
  • projet.zip
    19.8 KB · Affichages: 315

fadan

XLDnaute Nouveau
Re : [vba-03] (modification données ListView) Débutant, je sollicite votre aide.

Bonjour le forum,

Et merci à jp14 pour vos conseils et votre code pour modifier les données d'une ListView.
J'en reviens à vous car j'ai modifié un peu le code pour n'enregistrer la modification de la ListView qu'avec le bouton "Enregistrer." mais cela pose problème.
Je pensais (en cliquant sur "Enregistrer.") pouvoir supprimer les données de la base qui sont affichées dans la ListView (selon la date du TextBox) et ensuite enregistrer les données de la ListView dans la base, mais j'ai une erreur que j'ai difficile à comprendre.
Pourriez vous me donner un petit coup de pouce?

Encore merci

fadan
 

Pièces jointes

  • projetjp14.zip
    27.1 KB · Affichages: 193
  • projetjp14.zip
    27.1 KB · Affichages: 184
  • projetjp14.zip
    27.1 KB · Affichages: 174

jp14

XLDnaute Barbatruc
Re : [vba-03] (modification données ListView) Débutant, je sollicite votre aide.

Bonjour

Ci dessous le code pour supprimer la ligne
Sheets("BDD_Opérations").Rows(lig).Delete Shift:=xlUp
Lig contenant le numéro de ligne.

Ligne à modifier pour éviter l'erreur
For j = 1 To ListViewOperations.ColumnHeaders.Count - 2
de la procédure Private Sub Btn_enregistrer_Click()

Ci dessous le fichier avec une approche différente au niveau de la mise à jour.
Pour éviter de supprimer la base de données, j'ai rajouté dans la listview une colonne pour indiquer l'action à réalisée.
J'ai modifié en conséquence la procédure pour enregistrer.

JP
 

Pièces jointes

  • projetjp14.zip
    24.4 KB · Affichages: 246
  • projetjp14.zip
    24.4 KB · Affichages: 265
  • projetjp14.zip
    24.4 KB · Affichages: 301
Dernière édition:

fadan

XLDnaute Nouveau
Re : [vba-03] (modification données ListView) Débutant, je sollicite votre aide.

Bonjour le forum,

Et encore merci à jp14 pour m'avoir consacré de son temps pour mes soucis de code.

Les boutons "Modifier." et "Supprimer." les données affichées dans la ListView fonctionnent très bien mais si je peux encore vous solliciter car j'aimerais pouvoir, avec un bouton "Ajouter." afficher des données sur la dernière ligne de la listview et mettre à jour la base de données en même temps.
J'ai testé différents code mais sans succès
Un dernier coups de pouce de votre part me permettrais de terminer ce module.
Voici le début de code:
Et encore merci de votre patience envers moi.

fadan


Code:
Private Sub Btn_ajouterOperation_Click()
    ' Ajoute l'opération dans la ListView
    With ListViewOperations
        .ListItems.Add , , Format(Txt_dateDebut, "dd/mm/yyyy") ' Date
        .ListItems(.ListItems.Count).ListSubItems.Add , , Txt_reference.Value ' Référence
        .ListItems(.ListItems.Count).ListSubItems.Add , , Txt_remorque.Value ' Remorque
        .ListItems(.ListItems.Count).ListSubItems.Add , , Txt_operations.Value ' Opération
        .ListItems(.ListItems.Count).ListSubItems.Add , , Format(Txt_Kms, "##,###,##0.0") ' Kms
        .ListItems(.ListItems.Count).ListSubItems.Add , , ComboBox_tempsTravail.Value ' Temps de travail
        .ListItems(.ListItems.Count).ListSubItems.Add , , Format(Txt_hDepart.Value, "hh:mm") ' Heure de début d'operation
        .ListItems(.ListItems.Count).ListSubItems.Add , , Format(Txt_hArret.Value, "hh:mm") ' heure de fin d'opération
        .ListItems(.ListItems.Count).ListSubItems.Add , , Format(Lbl_dureeOperation.Caption, "hh:mm") ' Durée de l'opération
    End With
' Ici j'ai essayé de mettre à jour la base à partir de votre code mais sans succès
End sub
 

jp14

XLDnaute Barbatruc
Re : [vba-03] (modification données ListView) Débutant, je sollicite votre aide.

Bonsoir

Ci joint le fichier avec les procédures.

A tester

JP
 

Pièces jointes

  • projetjp14.zip
    24.3 KB · Affichages: 665
  • projetjp14.zip
    24.3 KB · Affichages: 693
  • projetjp14.zip
    24.3 KB · Affichages: 774

fadan

XLDnaute Nouveau
Re : [vba-03] (modification données ListView) Débutant, je sollicite votre aide.

Bonjour le forum,

Je voudrais remercier jp14 pour l'aide qu'il m'a apporté pour résoudre mon problème de modification de ListView.
Je reviendrais surement plus tard pour d'autres problèmes.

En attendant, encore merci à jp14 sans oublier de remercier toutes les personnes qui font de ce site un fabuleux outils de recherche et d'entraide.

Mille merçi à touts

fadan
 

Discussions similaires

Réponses
69
Affichages
4 K

Statistiques des forums

Discussions
312 492
Messages
2 088 902
Membres
103 982
dernier inscrit
krakencolas