DblClick dans ListView

bonjour

merci beaucoup avant tous pour tous

je vous sollicite concernant un problème de doubleclick ( dblClick ) dans une listView qui ne fonctionne pas!

Apparemment tous fonctionne correctement, sauf cela.

ci-joint le fichier

22base-produits.xlsm (28.88 Ko)

merci

Bonjour,

Vous devriez commencer par compiler votre projet VBA, vous verriez alors un certains nombre de soucis

image

Ensuite si vous mettez un point d'arrêt (F9) au début de votre procédure

image

Vous pourriez faire défiler votre code avec F8

Et vous verriez ce qui se produit (logique)

A+

Bonjour

merci BrunoM45

ben, j'ai fait et refait ce que vous m'avait demandé ( je le fait tous le temps)

voici mon problème

quand je double click, ma logique me dit que les textbox et combobox sont remplie depuis la lecture des selecteditem et listsubitem

Or le blocage se fait à la textbox3 !!!

j'ai pas compris pourquoi

2022 03 17 14 12 45

merci

Re,

Et bien c'est très bien si vous le faite tout le temps
mais moi j'avais un tas d'erreurs dans le fichier déposé

Est-ce que Textbox3 existe ?

A+

oui bien sur

ce qui me casse la tête c'est que si je met les textbox 3 4 et 5 et le combobox1 en commentaire, ca fonctionne normalement!!!!

Re,

En faisant du pas à pas, vous pourriez voir que vous repassez par la case InitListe()

Au moment de modifier la valeur du TexteBox2

image

Vous devez donc mettre un flag de passage pour éviter de lancer cette procédure

Private Sub ListView1_DblClick()
  Dim Ind As Long
  ' Mettre le Flag de sortie à vrai
  FlgExit = True
  ' Avec la liste
  With Me.ListView1
    Ind = .SelectedItem.Index
    TextBox1.Value = .SelectedItem.Text
    TextBox2.Value = .SelectedItem.ListSubItems(1).Text
    TextBox3.Value = .SelectedItem.ListSubItems(2).Text
    TextBox4.Value = .SelectedItem.ListSubItems(3).Text
    ComboBox1.Value = .SelectedItem.ListSubItems(3)
    TextBox5.Value = .SelectedItem.ListSubItems(4)
  End With
  Correctifs.Visible = False
  Correctifs2.Visible = True
  ' Remettre le flag à Faux
  FlgExit = False
End Sub

Et dans

Private Sub TextBox2_Change()
  If FlgExit = False then Call InitListe(TextBox2.Value, 2)
End Sub

A+

merci BrunoM45 pour le temps que tu me consacre,

mais je dit OUPS!!! le probleme est le même

2022 03 17 15 41 19 2022 03 17 15 41 59

!!! je ne comprend pas

Re,

Vous pensez bien que j'ai testé avant de répondre

Vous n'avez pas suivi mes instructions, il est vrai qu'avec le fichier ce serait plus simple... mais bon

Re - BrunoM45

merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii

c'est cool

Juste que le Flag n'etais pas déclaré ( Dim FlgExit As Boolean)

merci BrunoM45

Bonjour BrunoM45, Bonjour le forum

mais moi j'avais un tas d'erreurs dans le fichier déposé

malgré que j'ai clôturé le post, pourrais-je avoir des éclaircissement concernant les erreurs de mon fichier, pour pouvoir améliorer mon VBA

merci d'avance

Bonjour iliyes

Je ne sais pas quoi vous dire de plus que ce que j'ai dis précédemment

Dans la procédure de double-clic, vous mettez à jour les textbox (normal)
mais dans le TextBox2 vous avez l'évènement Change() qui lance l'initialisation de la Listbox, d'où l'erreur.

Pour éviter cela, on met un Flag (désactiver les évènements ne fonctionne pas) que l'on test

A+

Rechercher des sujets similaires à "dblclick listview"