Erreur double Clic dans ListBox

Le
DAVID
Bonsoir

J'utilie cette procédure pour récuérer les valeurs de la ListBox dans des
TextBox.

Je pensais que tout fonctionner bien mais je viens de m'apercevoir que quand
on doubleclic dans un endroit ou il y a pas de valeur cela faisait une
erreur.

Merci pour votre aide

Sub Liste1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim i As Long
Dim j As Long
If Liste1.ListCount < 1 Then Exit Sub
i = Liste1.ListIndex
TextBox1 = Liste1.List(i, 0)
TextBox2 = Liste1.List(i, 1)
For j = 0 To Combo1.ListCount - 1
If Liste1.List(i, 2) = Combo1.List(j) Then Combo1.ListIndex = j
Next j
TextBox3 = Liste1.List(i, 3)
TextBox4= Liste1.List(i, 4)
TextBox5 = Liste1.List(i, 5)
TextBox6= Liste1.List(i, 6)
TextBox7= CDate(Liste1.List(i, 7))
If Liste1.List(i, 8) <> "" Then TextBox7 = CDate(Liste1.List(i, 8))
End Sub
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
michdenis
Le #20988331
Bonjour,

Lorsque l'événement "Textbox1_Enter" s'exécute,
entre dans le code de l'événement un espace dans le textbox

Me.textbox1 = " " plus les autres lignes de code liées à cet événement
Ceci est suffisant pour déclencher l'événement suivant si l'usager décide
d'annuler la saisie d'une date et passe au textbox suivant ou essaie de
sortir du textbox

L'événement à ajouter au textbox devant recevoir une date :
'-----------------------------------
Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
'le chiffre 10 représente le nombre de caractères que
'devrait avoir la date incluant les symboles du format
If Len(Me.TextBox1) <> 10 Then
MsgBox "Vous devez saisir une date"
Me.TextBox1.SetFocus
Cancel = True
UserForm1.Show
Else
'Si la date est bonne, on passe au textbox suivant
Me.Textbox1.setfocus
End If
End Sub
'-----------------------------------



"DAVID"
Bonsoir

J'utilie cette procédure pour récuérer les valeurs de la ListBox dans des
TextBox.

Je pensais que tout fonctionner bien mais je viens de m'apercevoir que quand
on doubleclic dans un endroit ou il y a pas de valeur cela faisait une
erreur.

Merci pour votre aide

Sub Liste1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim i As Long
Dim j As Long
If Liste1.ListCount < 1 Then Exit Sub
i = Liste1.ListIndex
TextBox1 = Liste1.List(i, 0)
TextBox2 = Liste1.List(i, 1)
For j = 0 To Combo1.ListCount - 1
If Liste1.List(i, 2) = Combo1.List(j) Then Combo1.ListIndex = j
Next j
TextBox3 = Liste1.List(i, 3)
TextBox4= Liste1.List(i, 4)
TextBox5 = Liste1.List(i, 5)
TextBox6= Liste1.List(i, 6)
TextBox7= CDate(Liste1.List(i, 7))
If Liste1.List(i, 8) <> "" Then TextBox7 = CDate(Liste1.List(i, 8))
End Sub
DAVID
Le #20988291
De nouveau, encore merci de ton aide

Bonne soirée
michdenis
Le #20988591
Bonjour,

| Je pensais que tout fonctionner bien mais je viens de m'apercevoir que quand
| on doubleclic dans un endroit ou il y a pas de valeur cela faisait une
| erreur.

**** Ton code bloque sur quelle ligne de code ?
DAVID
Le #20992361
Bonjour.

Désolé pour la réponse tardive, petite soirée imprévu !! dur ce matin

Bon alors erreur : "Impossible de lire la propriété List.Index de table de
propriétés non valide"

A cette ligne : TextBox1 = Liste1.List(i, 0)
michdenis
Le #20992531
Le plus simple, publie ton classeur à cette adresse : cijoint.fr
et tu nous donne l'adresse où ton fichier est accessible !





"DAVID"
Bonjour.

Désolé pour la réponse tardive, petite soirée imprévu !! dur ce matin

Bon alors erreur : "Impossible de lire la propriété List.Index de table de
propriétés non valide"

A cette ligne : TextBox1 = Liste1.List(i, 0)
michdenis
Le #20992851
Pour un contrôle listbox,

Si tu n'as pas fait une sélection au préalable dans ton listbox,
Listindex a comme valeur -1, il est évident, qu'il ne pourra pas
exécuter une ligne de code comme ceci
TextBox1 = Liste1.List(i, 0) ou i = -1

Tu devrais faire un test en début de procédure :
Si Me.Textbox1.ListIndex = -1 then
Msgbox "Faite d'abord une sélection."
Exit sub
End if




"DAVID"
Voici

http://www.cijoint.fr/cjlink.php?file=cj201001/cijh2Vgf9H.xls
DAVID
Le #20993011
Merci beaucoup. Cela fonctionne avec

If Me.LstResultat.ListIndex = -1 Then
MsgBox "Cliquer dans une ligne remplie"
Exit Sub
End If
DAVID
Le #20993091
Une autre erreur que je comprend pas.

Dans Fiche de base/Véhicules, quand je veux supprimer une fiche, ceci
supprime pas tout alors que le même code est pour saisie fiche
carburants/Historique et la ça fonctionne !

J'ai pourtant fait la même chose des 2 cotés.

Merci de ton aide
michdenis
Le #20996551
Tu dois préciser le formulaire et la procédure problème.
Ça me tente pas de chercher...





"DAVID"
Une autre erreur que je comprend pas.

Dans Fiche de base/Véhicules, quand je veux supprimer une fiche, ceci
supprime pas tout alors que le même code est pour saisie fiche
carburants/Historique et la ça fonctionne !

J'ai pourtant fait la même chose des 2 cotés.

Merci de ton aide
Publicité
Poster une réponse
Anonyme