|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre éclairé
![]() Michel Développeur informatique Inscription : février 2008 Messages : 261 ![]() |
Bonjour,
Petit problème à soumettre : j'ai les 3 lignes de code suivantes Code :
La deuxième ligne selectionne bien le 1° élement de ma liste (vérifié) Par contre la troisième ligne plante car "Me.Selection_Compte.value" est "Null" (c'est malheureusement vérifié aussi !) "Selection_Compte" est le nom de ma zone de liste "Compte_cherché" est une variable de type String. Le message est : "Utilisation incorrecte de Null" Je voudrais en clair, récupérer la valeur du premier item (1° ligne)de "Me.Selection_Compte" dans "Compte_cherché" ... et non pas un "Null" Merci de m'éclairer si vous le pouvez : je bloque ! Cordialement Michel |
||
|
|
00
|
|
|
#2 | ||
|
Membre du Club
![]() Étudiant Inscription : juillet 2011 Messages : 47 ![]() |
Bonjour,
Pour feinter l'erreur je fait souvent ça : Code :
![]() EDIT : Bien sur tu peux également "Catch" l'erreur. |
||
|
|
00
|
|
|
#3 |
|
Membre éclairé
![]() Michel Développeur informatique Inscription : février 2008 Messages : 261 ![]() |
Mon problème n'est pas de faire en sorte que le programme ne plante pas ou de faire en sorte de cacher l'erreur.
Comme cet item (le premier de la liste) est sélectionné (voir 2° ligne du code) je voudrais dans la 3° ligne de code en récupérer la valeur... et non pas une valeur nulle. Merci quand même d'avoir essayé Michel |
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Étudiant Inscription : juillet 2011 Messages : 47 ![]() |
Ah ok, j'avais mal compris effectivement, il s'agit bien d'une list box ?
L'erreur vient donc d'ici Code :
Me.Selection_Compte.Selected(0) = True Si tu es sûr que cette ligne selectionne bien le premier élément peut-être que la 1ère colonne du premier élément de ta liste est nul ? |
|
|
00
|
|
|
#5 |
|
Membre éclairé
![]() Michel Développeur informatique Inscription : février 2008 Messages : 261 ![]() |
Oui, quand cette commande s'exécute, le premier élément de ma liste (qui contient un n° de compte) se met en couleur bleue (alors qu'il était blanc auparavent.
Il me parait donc "sélecté" ou "sélectionné"... les autres élements restant quant à eux... blancs ! enfin, il s'agit bien d'une zone de liste (pas déroulante) qui contient un certain nombre d'éléments renseignés par la 1° ligne de mon code. Michel |
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Étudiant Inscription : juillet 2011 Messages : 47 ![]() |
Et pourquoi ne pas faire :
Code :
Compte_Cherché = Me.Selection_Compte.RecordSet(0) |
|
|
00
|
|
|
#7 |
|
Membre chevronné
![]() Alexandre SahliComptable Inscription : mars 2005 Messages : 507 ![]() |
bonjour,
si le problème viens du null tu peux faire: Code :
Compte_Cherché = nz(Me.Selection_Compte.Value,"") etc. |
|
|
00
|
|
|
#8 | ||
|
Membre actif
![]() Sébastien Développeur indépendant Inscription : juillet 2011 Messages : 176 ![]() |
Bonjour premièrement enlever les accents et underscore dans les variables "Compte_Cherché"
ne pas oublier que l'éditeur vba est anglais donc pour éviter des erreurs à long terme commençons par la base ... tous en étant plus explicite aussi posté la partie complète de votre code incluant les déclarations de variables, même si elle sont cité dans le message. donc comme Alexandre Sahli le dit nous devont dire au compilateur que si la valeur recherché est null et que la valeur ne peut l'être alors tu peut écrire : "CompteCherche = nz(Me.Selection_Compte,"")" Le NZ renvoi une valeur si null ... donc dans ce cas il renvoi ""(Vide). Si ont aurait mit : NZ(Me.Selection_Compte,"Aucune valeur trouvé") !! la variable serait alors : "Aucune valeur trouvé" Code :
si votre zone de liste contient une entête il faut la prendre en compte donc la première colone sera : "me.Selection_Compte.column(1)" sinon .column(0) votre "Me.Selection_Compte.Selected(0) = True" ne sert seulement qu'à sélectionner par défaut pour l'utilisateur. |
||
|
|
00
|
|
|
#9 |
|
Membre éclairé
![]() Michel Développeur informatique Inscription : février 2008 Messages : 261 ![]() |
La formulation que j'aurais dû employer était donc :
Code :
Compte_Cherché = Me.Selection_Compte.column(0) Code :
Compte_Cherché = Me.Selection_Compte.Value Par ailleurs les accentués et les soulignements dans les noms de variables ne présentent aucun problème particulier. Merci à tous pour votre aide. Michel |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com