Modifier Ligne listview via textbox

ben59

XLDnaute Nouveau
Bonjour le forum,

J'ai un petit problème pour modifier la ligne sélectionnée d'une listview via des Textbox.

Je m'explique, j'ai une base de donnée de 9 Colonnes sur un nombre de ligne indéfini se situant sur une feuille de mon classeur. J'ai besoin d'une Listview pour rendre plus clair la lecture et la modification de ma base de données.

Ayant 9 Colonnes dans mon classeur, j' ai donc 9 Colonnes dans la Listview. et 9 Textbox dans mon userform pour modifier les données. Elles se nomme Textbox 1 à 9.
Lorsque je clic sur une ligne j'arrive a alimenter mes Textbox pour les modifier, mais le problème est comme dit plus haut je n'arrive pas à renvoyer celle ci dans ma Listview et dans ma BD.

De plus, j'aimerai si cela est possible avoir dans un autre tableau ou un autre userform les totaux par compte comptabilité et par mois suivant qu'ils soient Prévus Engagés ou Acquittés comme en feuille 1 de mon classeur. Le but est de passer par une routine afon d'éviter la saisie de formules telle que somme.si.ens... car il y a tout de même une flopée de ligne.

Je vous joint mon classeur pour une meilleur compréhension

Merci d'avance pour votre aide.

PS: Les codes utilisés ne sont pas de moi et proviennent pour la plupart du forum je n'ai fais que les remanier pour qu'ils fonctionnent sur ma feuille je dis donc merci au auteurs de ceux ci.
 

Pièces jointes

  • ESSAI5bis desordre pour forum.xls
    135 KB · Affichages: 199
  • ESSAI5bis desordre pour forum.xls
    135 KB · Affichages: 199
  • ESSAI5bis desordre pour forum.xls
    135 KB · Affichages: 233

CHALET53

XLDnaute Barbatruc
Re : Modifier Ligne listview via textbox

bonjour,
tu rajoutes dans cette procédure une variable qui va te donner le rang
La ligne dans ta feuille excel (qui commence à la ligne 3) sera la variable +2
tu peux alors modifier ta bd
Rappeler ta listview1 et les modif seront prises en compte


Private Sub Listview1_ItemClick(ByVal Item As MSComctlLib.ListItem)
Dim a
a = Me.Listview1.SelectedItem.Index


Dim Cellule As Integer
For Cellule = 1 To 9 Step 1
If Cellule = 1 Then
Me.Controls("TextBox" & Cellule).Text = Listview1.ListItems(Item.Index).Text
Else
Me.Controls("TextBox" & Cellule).Text = Listview1.ListItems(Item.Index).ListSubItems(Cellule - 1).Text
End If
Next Cellule
End Sub

a+
 

ben59

XLDnaute Nouveau
Re : Modifier Ligne listview via textbox

Bonjour,

Je n'est pas saisis ce que tu veux dire, peux tu m'expliquer un peu plus car pour ce qui est de la variable je sait qu'il faut récupérer l'adresse de la ligne mais je ne sait pas comment ni ou dans mon code

Merci
 

CHALET53

XLDnaute Barbatruc
Re : Modifier Ligne listview via textbox

Tu rajoutes les deux lignes que je t'ai mis en gras dans ta procédure :
Private Sub Listview1_ItemClick(ByVal Item As MSComctlLib.ListItem)

tu mets dim a as integer en entête de toutes les procédures et non dans la procédure

tu rajoutes dim cellule as integer également

Ensuite,Derrière ton bouton Enregistrement tu mets cette procédure et ça marche :

Private Sub CommandButton3_Click()
For cellule = 1 To 9
Cells(a + 2, cellule) = Me.Controls("textbox" & cellule)
Next
UserForm_initialize
End Sub

Si tu as un souci, je te renvoie le fichier avec ces modifs

A suivre
 

ben59

XLDnaute Nouveau
Re : Modifier Ligne listview via textbox

Merci chalet, mais avec ton code c'est la première ligne d'en tête de mon tableau qui se modifie essaye comme tu me l'a proposé de modifier mon fichier et de me le redonner

Merci d'avance.

PS est 'il obligatoire de réutiliser UserForm_initialize car pour charger mon userform déjà une fois c'est long car mon fichier réelle comporte près de 35000 lignes.
 

CHALET53

XLDnaute Barbatruc
Re : Modifier Ligne listview via textbox

Déjà le fichier :

Je regarde le problème du volume
 

Pièces jointes

  • ESSAI5bis desordre pour forum.xls
    121.5 KB · Affichages: 247
  • ESSAI5bis desordre pour forum.xls
    121.5 KB · Affichages: 249
  • ESSAI5bis desordre pour forum.xls
    121.5 KB · Affichages: 344

ben59

XLDnaute Nouveau
Re : Modifier Ligne listview via textbox

Merci Chalet, par contre, les valeurs des 3 dernières colonnes ne sont plus reconnues comme des chiffres, y a t'il un moyen de formater ces 3 dernières colonne comme des chiffres (négatifs en rouge et positifs en noir) y compris dans la listview avec le signe € car ce tableau sert pour ma comptabilité.
 

CHALET53

XLDnaute Barbatruc
Re : Modifier Ligne listview via textbox

Maj directe dans la listview
Format nombre : A améliorer sans doute
 

Pièces jointes

  • ESSAI5bis desordre pour forum.xls
    127.5 KB · Affichages: 294
  • ESSAI5bis desordre pour forum.xls
    127.5 KB · Affichages: 218
  • ESSAI5bis desordre pour forum.xls
    127.5 KB · Affichages: 230

Bebere

XLDnaute Barbatruc
Re : Modifier Ligne listview via textbox

bonjour Ben,Chalet
une autre version ajouter,modifier,supprimer
à bientôt
 

Pièces jointes

  • ESSAI5bisBenV1.zip
    41.1 KB · Affichages: 275
  • ESSAI5bisBenV1.zip
    41.1 KB · Affichages: 265
  • ESSAI5bisBenV1.zip
    41.1 KB · Affichages: 342

Paritec

XLDnaute Barbatruc
Re : Modifier Ligne listview via textbox

Bonjour Bebere:) le forum
ta dernière version a un petit bug, quand tu cliques sur le bouton de commande, simplement ta variable L pas déclarée.
a+
papou:)
 
Dernière édition:

Bebere

XLDnaute Barbatruc
Re : Modifier Ligne listview via textbox

bonjour Ben,Chalet,Paritec,Fo_rum
Paritec pas vu de faute,mis option explicit
Fo_rum,il y a des objets qui n'apparaissent pas(essai avec excel2003)
compléter userform
dans les 2 modules il y a du code pour mise à jour Feuil1
à bientôt
 

Pièces jointes

  • ESSAI5bisBenV1.zip
    50.9 KB · Affichages: 409
  • ESSAI5bisBenV1.zip
    50.9 KB · Affichages: 389
  • ESSAI5bisBenV1.zip
    50.9 KB · Affichages: 508

Discussions similaires

Statistiques des forums

Discussions
312 207
Messages
2 086 233
Membres
103 161
dernier inscrit
Rogombe bryan