OVH Cloud OVH Cloud

ListBox avec la valeur Null

3 réponses
Avatar
Sabian
Salut...
J'ai un UserForm avec une ListBox et un bouton *Supprimer*
Lorsque l'utilisateur choisi une valeur dans la ListBox et=20
qu'ensuite il clique sur Supprimer, la valeur est=20
supprimer sur une liste dans une de mes feuilles.
Jusque l=E0, pas de souci.

Maintenant j'aimerai dire que si l'utilisateur clique sur=20
Supprimer et qu'il n'a pas fait de choix dans la ListBox=20
avant. Il y ait un message d'erreur.
J'ai donc ce code (qui ne fonctionne pas, bien s=FBr)

Dim VarSupCat as Variant
VarSupCat =3D Me.lstCat.value

if VarSupCat =3D Null Then
Unload Me
MsgBox "Vous devez au moins choisir une valeur =E0=20
supprimer !", vbInformation + vbOkOnly, "Information"
Exit sub
end if

Si je ne s=E9lectionne rien dans ma ListBox et que je fais=20
aller le code pas =E0 pas... il passe directement de *if=20
VarSupCat =3D Null Then* =E0 *End if*

J'en d=E9duit donc que pour lui VarSupCat contient quelque=20
chose, non ? Me trompe-je ?

Please help is needed...
Bon app' =E0 toutes et tous...

Sabian

3 réponses

Avatar
Vincent.
Salut !
Essaie avec Is Null en lieu et place de = Null (m'enfin,
je ne garantis pas sur ce coup-mlà ;-))
A+

V.
-----Message d'origine-----
Salut...
J'ai un UserForm avec une ListBox et un bouton *Supprimer*
Lorsque l'utilisateur choisi une valeur dans la ListBox
et

qu'ensuite il clique sur Supprimer, la valeur est
supprimer sur une liste dans une de mes feuilles.
Jusque là, pas de souci.

Maintenant j'aimerai dire que si l'utilisateur clique sur
Supprimer et qu'il n'a pas fait de choix dans la ListBox
avant. Il y ait un message d'erreur.
J'ai donc ce code (qui ne fonctionne pas, bien sûr)

Dim VarSupCat as Variant
VarSupCat = Me.lstCat.value

if VarSupCat = Null Then
Unload Me
MsgBox "Vous devez au moins choisir une valeur à
supprimer !", vbInformation + vbOkOnly, "Information"
Exit sub
end if

Si je ne sélectionne rien dans ma ListBox et que je fais
aller le code pas à pas... il passe directement de *if
VarSupCat = Null Then* à *End if*

J'en déduit donc que pour lui VarSupCat contient quelque
chose, non ? Me trompe-je ?

Please help is needed...
Bon app' à toutes et tous...

Sabian




.



Avatar
nickel...

J'ai *if IsNull(VarSupCategories) = true then....

Merci merci

a++


-----Message d'origine-----
Salut !
Essaie avec Is Null en lieu et place de = Null (m'enfin,
je ne garantis pas sur ce coup-mlà ;-))
A+

V.
-----Message d'origine-----
Salut...
J'ai un UserForm avec une ListBox et un bouton
*Supprimer*


Lorsque l'utilisateur choisi une valeur dans la ListBox
et

qu'ensuite il clique sur Supprimer, la valeur est
supprimer sur une liste dans une de mes feuilles.
Jusque là, pas de souci.

Maintenant j'aimerai dire que si l'utilisateur clique
sur


Supprimer et qu'il n'a pas fait de choix dans la ListBox
avant. Il y ait un message d'erreur.
J'ai donc ce code (qui ne fonctionne pas, bien sûr)

Dim VarSupCat as Variant
VarSupCat = Me.lstCat.value

if VarSupCat = Null Then
Unload Me
MsgBox "Vous devez au moins choisir une valeur à
supprimer !", vbInformation + vbOkOnly, "Information"
Exit sub
end if

Si je ne sélectionne rien dans ma ListBox et que je fais
aller le code pas à pas... il passe directement de *if
VarSupCat = Null Then* à *End if*

J'en déduit donc que pour lui VarSupCat contient quelque
chose, non ? Me trompe-je ?

Please help is needed...
Bon app' à toutes et tous...

Sabian




.

.





Avatar
Michel Gaboly
Bonjour,

Autre solution :

Quand aucune sélection n'a été faire dans un ListBox, sa pro-
priété ListIndex est égale à - 1.

If Ist.LIstIndex = - 1 Then
...


Par ailleurs, si tu places

Unload Me

avant le MsgBox, cela ne peut pas marcher : le UserForm
étant déchargé, plus aucune instruction de la procédure
n'est exécutée. Unload Me a le même effet qu'un Exit Sub
à ce niveau.



Salut !
Essaie avec Is Null en lieu et place de = Null (m'enfin,
je ne garantis pas sur ce coup-mlà ;-))
A+

V.
-----Message d'origine-----
Salut...
J'ai un UserForm avec une ListBox et un bouton *Supprimer*
Lorsque l'utilisateur choisi une valeur dans la ListBox
et

qu'ensuite il clique sur Supprimer, la valeur est
supprimer sur une liste dans une de mes feuilles.
Jusque là, pas de souci.

Maintenant j'aimerai dire que si l'utilisateur clique sur
Supprimer et qu'il n'a pas fait de choix dans la ListBox
avant. Il y ait un message d'erreur.
J'ai donc ce code (qui ne fonctionne pas, bien sûr)

Dim VarSupCat as Variant
VarSupCat = Me.lstCat.value

if VarSupCat = Null Then
Unload Me
MsgBox "Vous devez au moins choisir une valeur à
supprimer !", vbInformation + vbOkOnly, "Information"
Exit sub
end if

Si je ne sélectionne rien dans ma ListBox et que je fais
aller le code pas à pas... il passe directement de *if
VarSupCat = Null Then* à *End if*

J'en déduit donc que pour lui VarSupCat contient quelque
chose, non ? Me trompe-je ?

Please help is needed...
Bon app' à toutes et tous...

Sabian




.




--
Cordialement,

Michel Gaboly
http://www.gaboly.com