Si valeur treeview sélectionnée alors

Bonjour,

N'étant pas très familier des TreeViews, je n'arrive pas a trouver le code qui me permettra lors d'un clic sur un bouton de savoir si l'un des items du treeview est sélectionné.

Voici un le code qui ne fonctionne pas :

Private Sub ajouter_sstraitant_Click()

If TreeView1.SelectedItem = True Then       'Cette ligne ne fonctionne pas
entreprise.Text = TreeView1.SelectedItem.Text
Else
MsgBox "Merci de sélectionner un élément de l'arborescence"
End If

ajouter_sstraitantV2.Width = 378
Label20.Visible = False

End Sub

Merci d'avance à ceux qui me répondrons !

Batoine

Bonjour batoine, le forum

sans fichier je ne suis pas sur mais peut-être

If TreeView1.listindex <> -1  Then

a tester

a+

Papou

Bonjour Batoine, paritec

je pense que c'est sous cette forme

 If TreeView1.SelectedItem.Text <> "" Then MsgBox TreeView1.SelectedItem.Text

Bonjour paritec, bonjour BOB71AU,

Je reviens avec beaucoup de retard.

Aucune des vos deux solutions ne fonctionne. Voici les messages d'erreurs obtenus pour chacune

Pour la solution proposée par paritec :

If TreeView1.listindex <> -1  Then

Message d'erreur asssocié : memebre de métode ou de données introuvable

Pour celle proposée par BOB71AU :

 If TreeView1.SelectedItem.Text <> "" Then MsgBox TreeView1.SelectedItem.Text

Message d'erreur associé : Erreur 91 : Variable objet ou de bloc With non définie

Avez-vous une autre solution ?

J'ai beau cherche sur internet, je ne trouve rien...

Merci d'avance,

Batoine

Bonjour batoine

chez moi cela fonctionne

avec un fichier peut-être

Bonjour Batoine le forum

oui tu nous passes le fichier ou un bout de fichier avec les explications et on va faire marcher

a+

Papou

Bonjour BOB71AU, Bonjour paritec,

Voici ci-joint mon fichier.

Veillez à placer les 2 images jointes dans le même dossier ou répertoire que le classeur Excel. Ces images symbolisent les différents nœuds du treeview.

Je n'ai récupéré que le strict nécessaire afin de résoudre ce problème. J'ai cependant une légère différence par rapport à mon fichier d'origine. Les éléments du treeview ne semblent pas avoir des liens de parenté en père/fils... Enfin ça ne change pas mon problème de sélection.

Après avoir rajouter le code :

If Me.TreeView1.SelectedItem.Text <> "" Then MsgBox TreeView1.SelectedItem.Text

Voici ce que je comprends du problème

Bien qu'aucun élément du treeview ne soit sélectionné par l'utilisateur et lorsque le code ci-dessous s'exécute, Excel semble avoir sélectionné par défaut la 1ere ligne du treeview.

Ceci est problématique dans mon cas, la base de donnée que formera ce classeur Excel perdrait de sa fiabilité...

Merci d'avance,

J'espère avoir été clair,

Batoine

grnarrow redball
53treeview-v1.xlsm (63.49 Ko)

Bonsoir batoine, paritec

Effectivement, il y a toujours un item de selectionné

les liens de parenté fonctionnent à condition de supprimer le treeview et de le recréer

je n'ai fais que modifier le code du bouton

a voir si cela conviendrait comme alternative

93treeview-v1.xlsm (66.55 Ko)

Bonjour BOB71AU , le forum,

Merci BOB71AU pour votre réponse,

En revanche cette solution ne me plait pas bcp, elle ne répond pas vraiment au problème. Si l'on clique sur le treeview sans rien avoir sélectionné au préalable, la compétence "PRESTATIONS D'ACCOMPAGNEMENT" s'ajoute quand même dans la listbox.

Et si l'utilisateur a effectivement bien sélectionné un item de la liste et qu'il souhaite le rajouter, il a alors une nouvelle message box de confirmation. Cette msgbox n'est selon moi pas nécessaire car l'utilisateur peut supprimer une compétence préalablement ajoutée. Cette msgbox ne rajoute finalement qu'un étape en plus non nécessaire.

Je pense que vous l'avez déjà compris, et ne sais pas si c'est possible mais j'aimerai que la conséquence lors d'un clique sur le bouton "Ajouter la compétence sélectionnée" soi la même que celle sillon clique sur "Supprimer la compétence sélectionné" (et qu'aucun item ne soit sélectionné).

Merci quand même pour cet essai !

Batoine

Bonjour Batoine

je pense que cela correspond a ta demande

on test que l'on a pas d'enfant

Me.TreeView1.SetFocus
If Me.TreeView1.SelectedItem.Children = 0 Then
      Me.ListBox1.AddItem TreeView1.SelectedItem.Text 'on rajoute le sstraitant dans la listbox
End If
Rechercher des sujets similaires à "valeur treeview selectionnee"