mimi09jn
Messages postés49Date d'inscriptionmardi 21 février 2012StatutMembreDernière intervention12 juillet 2013
-
25 avril 2013 à 12:56
rv83toulon
Messages postés68Date d'inscriptionmercredi 2 mars 2011StatutMembreDernière intervention25 avril 2013
-
25 avril 2013 à 16:18
bonjour à tous,
Je travaille avec Excel2007 et VBA,j'ai créé deux feuilles Excel:Feuil1, et Feuil2.
Dans Feuil1 j'ai inséré une liste:ListBox1, je voulais récupérer l'élément sélectionné dans cette liste:
[i]Dim portNAME As String
Dim j As Integer
Dim portNbr As Long
For j = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(j) Then
portNAME = ListBox1.List(j)
portNbr = Len(portNAME)
End If
Next j/i Mais là il s’arrête au niveau de ligne en vert et m'affiche le message suivant: Erreur de compilation: Variable non définie !
Il ne reconnait la ListBox1 ?!
Quelqu'un pourrait m'aider???
Merci d'avance
Bonjour,
1) je ne ne t'envois pas de code tant que tu n'utilises pas les balises de code VB, comme ça:
Dim portNAME As String
Dim j As Integer
Dim portNbr As Long
For j = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(j) Then
portNAME = ListBox1.List(j)
portNbr = Len(portNAME)
End If
Next j
2) En résumant: tu fais une boucle qui va de 0 à ListBox1.ListCount - 1
En suite tu lui demandes: si le item est sélectionné ....
Pourquoi ne pas utiliser la sub
Private Sub ListBox1_Click()???
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018220 25 avril 2013 à 14:48
Bonjour, rv83toulon,
Pourquoi, selon toi, vais-je te demander de corriger ton code ou de le compléter ? (ne réponds pas trop vite. Réfléchis d'abord)
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
mimi09jn
Messages postés49Date d'inscriptionmardi 21 février 2012StatutMembreDernière intervention12 juillet 2013 25 avril 2013 à 15:02
j'ai crée ma listbox depuis:développeur=>insérer=>controles Activex=>zone de liste
j'enregistre ce code dans un module.
Merci rv83toulon, j'ai du faire commme toi Sheets("Feuil1").ListBox1.Value
et non pas ListBox1.Value tout court
rv83toulon
Messages postés68Date d'inscriptionmercredi 2 mars 2011StatutMembreDernière intervention25 avril 2013 25 avril 2013 à 15:07
Bonjour ucfoutu,
je pense que c'est parce que si aucune valeur n'est sélectionnée dans la listbox j'aurai une erreur.
Donc je devrais rajouter un test pour savoir si une valeur est sélectionnée et afficher un msgbox si ce n'est pas le cas.
C'est çà ?
si oui alors:
Dim portNAME As String
Dim portNbr As Long
If Sheets("Feuil1").ListBox1.ListIndex <> -1 Then
portNAME = Sheets("Feuil1").ListBox1.Value
portNbr = Len(portNAME)
Else
MsgBox ("Merci de sélectionner une valeur!")
End If
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018220 25 avril 2013 à 16:09
Voilà !
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.