Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Treeview et SelectedItem

6 réponses
Avatar
Raymond Fournier
Bonjour a tous,
Depuis quelques jours je bug sur une erreur que je ne comprends pas voici:
J'utilise un treeView et lorsque je veux placer la valeur de la clé du
nœud dans une variable j'ai l'erreur: "Variable objet ou bloc With non
définie."
Je n'est pas de condition dans ma fonction et la seul variable que j'ai est
déclarer.

dim sTabTemp(1) as string

sTabTemp(1) = trvRecherche.SelectedItem.Key

Si quelqu'un a une idée je suis preneur.
Merci Raymond Fournier

6 réponses

Avatar
Jacques93
Bonjour Raymond Fournier,
Raymond Fournier a écrit :
Bonjour a tous,
Depuis quelques jours je bug sur une erreur que je ne comprends pas voici:
J'utilise un treeView et lorsque je veux placer la valeur de la clé du
nœud dans une variable j'ai l'erreur: "Variable objet ou bloc With non
définie."
Je n'est pas de condition dans ma fonction et la seul variable que j'ai est
déclarer.

dim sTabTemp(1) as string

sTabTemp(1) = trvRecherche.SelectedItem.Key

Si quelqu'un a une idée je suis preneur.
Merci Raymond Fournier




Peut être, dans un premier temps, t'assurer que SelectItem n'est pas
égal à Nothing

If Not trvRecherche.SelectedItem Is Nothing Then
sTabTemp(1) = trvRecherche.SelectedItem.Key
Else
Debug.print "Aucun Item sélectionné"
End If

--
Cordialement,

Jacques.
Avatar
Raymond Fournier
"Jacques93" wrote:

Bonjour Raymond Fournier,
Raymond Fournier a écrit :
> Bonjour a tous,
> Depuis quelques jours je bug sur une erreur que je ne comprends pas voici:
> J'utilise un treeView et lorsque je veux placer la valeur de la clé du
> nœud dans une variable j'ai l'erreur: "Variable objet ou bloc With non
> définie."
> Je n'est pas de condition dans ma fonction et la seul variable que j'ai est
> déclarer.
>
> dim sTabTemp(1) as string
>
> sTabTemp(1) = trvRecherche.SelectedItem.Key
>
> Si quelqu'un a une idée je suis preneur.
> Merci Raymond Fournier
>

Peut être, dans un premier temps, t'assurer que SelectItem n'est pas
égal à Nothing

If Not trvRecherche.SelectedItem Is Nothing Then
sTabTemp(1) = trvRecherche.SelectedItem.Key
Else
Debug.print "Aucun Item sélectionné"
End If

--
Cordialement,

Jacques.



Il semble que SelectItem = Nothing tester avec ton code. J'ai pourtant
utilisé un bout de code qui fait qu’a la fin de l'affichage de mon treeView
le dernier nœud parent soit sélectionner, mais le problème reste toujours
présent. Si je place le curseur sur l'endroit ou j'obtiens l'erreur dans la
fenêtre débug il affiche une valeur.

Merci Raymond Fournier
Avatar
Vincent Guichard
> Il semble que SelectItem = Nothing tester avec ton code. J'ai pourtant
utilisé un bout de code qui fait qu’a la fin de l'affichage de mon treeView
le dernier nœud parent soit sélectionner, mais le problème reste toujours
présent. Si je place le curseur sur l'endroit ou j'obtiens l'erreur dans la
fenêtre débug il affiche une valeur.

Merci Raymond Fournier



Bonjour,

De mémoire, il existe un bug dans le contrôle treeview qui fait que
SelectedItem retourne Nothing si l'item en question n'est pas visible
(par exemple, parce qu'il y a beaucoup d'items et que les barres de
défilements ne le montrent pas (vrai en particulier si la selection est
faite par programmation).

Pour palier à cela, tu peux t'assurer que l'item est visible avec
EnsureVisible = true dans les propriétés du contrôle.

Vincent Guichard
Avatar
SAISAS
Note : même problème que celui signalé pour les listview. Existe-t-il un
rapport?

"Vincent Guichard" a écrit :

> Il semble que SelectItem = Nothing tester avec ton code. J'ai pourtant
> utilisé un bout de code qui fait qu’a la fin de l'affichage de mon treeView
> le dernier nœud parent soit sélectionner, mais le problème reste toujours
> présent. Si je place le curseur sur l'endroit ou j'obtiens l'erreur dans la
> fenêtre débug il affiche une valeur.
>
> Merci Raymond Fournier

Bonjour,

De mémoire, il existe un bug dans le contrôle treeview qui fait que
SelectedItem retourne Nothing si l'item en question n'est pas visible
(par exemple, parce qu'il y a beaucoup d'items et que les barres de
défilements ne le montrent pas (vrai en particulier si la selection est
faite par programmation).

Pour palier à cela, tu peux t'assurer que l'item est visible avec
EnsureVisible = true dans les propriétés du contrôle.

Vincent Guichard



Avatar
Vincent Guichard
SAISAS a écrit :
Note : même problème que celui signalé pour les listview. Existe-t-il un
rapport?



Oui, mes problèmes de mémoire ;) J'ai posté en me basant sur elle et
j'ai probablement confondu les deux contrôles :(

Sinon j'ai essayé sans résultat de reproduire son problème, chez moi la
selection marche bien même hors de la partie visible. (version du
contrôle utilisé: MSCOMCTL.OCX 6.1.97.86 (celle du Sp6))

Vincent Guichard
Avatar
Raymond Fournier
"Vincent Guichard" wrote:

SAISAS a écrit :
> Note : même problème que celui signalé pour les listview. Existe-t-il un
> rapport?

Oui, mes problèmes de mémoire ;) J'ai posté en me basant sur elle et
j'ai probablement confondu les deux contrôles :(

Sinon j'ai essayé sans résultat de reproduire son problème, chez moi la
selection marche bien même hors de la partie visible. (version du
contrôle utilisé: MSCOMCTL.OCX 6.1.97.86 (celle du Sp6))

Vincent Guichard



Bonjour
Merci de votre aide. J'ai palier a mon problème en placent dans une variable
le numéro du nœud parent que je veux affecter selon ou je suis dans mon
programme. Si on ne clique pas sur un nœud et que l'on sélectionne par le
code, TreeView.SelectedItem = Nothing.

Raymond Fournier