Afficher la valeur d'une listbox dans une cellule d'un fichier Excel [Résolu]

cs_hirondellle 35 Messages postés dimanche 21 mars 2010Date d'inscription 27 mai 2010 Dernière intervention - 26 avril 2010 à 19:11 - Dernière réponse : cs_Le Pivert 5186 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 23 juin 2018 Dernière intervention
- 29 avril 2010 à 18:07
Bonjour tout le monde,


Je veux afficher la valeur d'une listbox dans une cellule d'un fichier Excel,j'utilise le code suivant mais il ne marche pas :

xl.Range("B" & 23).Value = List1.Text


quelqu'un peut m'aider?????

merci d'avance
Afficher la suite 

Votre réponse

14 réponses

Meilleure réponse
cs_Le Pivert 5186 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 23 juin 2018 Dernière intervention - 29 avril 2010 à 13:01
3
Merci
Le problème se situe au niveau de la déclaration de la listBox. J'ai trouvé cela sur le Net en VB6:
Le code suivant illustre comment retourner la valeur d'un élément ListBox.

'Visual Basic 6.0
Dim i As Integer
Private Function GetItemText(i As Integer) As String
' Return the text of the item using the index:
GetItemText = ListBox1.List(i)
End Function
N'ayant pas VB6 je ne peux pas faire de test.
Je vous encouragerais à reformuler votre question en précisant que c'est du VB6
@+

Merci cs_Le Pivert 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 118 internautes ce mois-ci

Commenter la réponse de cs_Le Pivert
cs_Le Pivert 5186 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 23 juin 2018 Dernière intervention - 26 avril 2010 à 22:39
0
Merci
Bonjour,
Mettre:
Range("A1") = ListBox1.Value
@+
Commenter la réponse de cs_Le Pivert
cs_hirondellle 35 Messages postés dimanche 21 mars 2010Date d'inscription 27 mai 2010 Dernière intervention - 27 avril 2010 à 13:11
0
Merci
Ce code ne marche pas !!!!!!
Commenter la réponse de cs_hirondellle
cs_Le Pivert 5186 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 23 juin 2018 Dernière intervention - 27 avril 2010 à 13:53
0
Merci
L'avez-vous employé comme ceci?
Private Sub ListBox1_Change()
Range("A1") = ListBox1.Value
End Sub
@+
Commenter la réponse de cs_Le Pivert
cs_hirondellle 35 Messages postés dimanche 21 mars 2010Date d'inscription 27 mai 2010 Dernière intervention - 27 avril 2010 à 17:59
0
Merci
d'abord merci pour votre réponce
pour vous mettre dans la situation j'ai un formulair1 avec une listbox list1 et un textbox text1 lorsque je clique sur un boutton j'ouvre Excel sous forme d'etat et je veux recupperer les valeur de cette listbox dans d'une cellule dans ce fichier Excel

voila le code que j'ai utilise ça marche avec les textbox :


private sub commande1_click()
dim XL as application
set Xl=createobject("Excel.application ")
XL.workbooks.open app.path & "\mon fichier.xls"
xl.Range("A" & 3).Value = text1.Text
xl.Range("B" & 23).Value = List1.Text
end sub

j'espere que e suis clair

merci d'avence .
Commenter la réponse de cs_hirondellle
cs_Le Pivert 5186 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 23 juin 2018 Dernière intervention - 27 avril 2010 à 18:18
0
Merci
C'est en VBA Excel?
C'est dans un UserForm?
Commenter la réponse de cs_Le Pivert
cs_hirondellle 35 Messages postés dimanche 21 mars 2010Date d'inscription 27 mai 2010 Dernière intervention - 27 avril 2010 à 19:17
0
Merci
Dans un form VB6


private sub commande1_click()
dim XL as application
set Xl=createobject("Excel.application ")
XL.workbooks.open app.path & "\mon fichier.xls"
xl.Range("A" & 3).Value = text1.Text
xl.Range("B" & 23).Value = List1.Text
.......
......



end sub
Commenter la réponse de cs_hirondellle
cs_Le Pivert 5186 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 23 juin 2018 Dernière intervention - 27 avril 2010 à 20:37
0
Merci
Je suis désolé mais je n'ai pas VB6. Mais par contre je pense qu'il faut mettre:
la ligne
xl.Range("B" & 23).Value = List1.Text

non pas dans un bouton, mais dans l'evenement
List1_Change de votre listBox
Ce qui devrait donner à peu près cela:

Private Sub List1_Change()
xl.Range("B" & 23).Value = List1.Text
End Sub

@+ Le Pivert
Commenter la réponse de cs_Le Pivert
cs_Le Pivert 5186 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 23 juin 2018 Dernière intervention - 27 avril 2010 à 20:39
0
Merci
Je viens de me relire, si cela ne marche pas avec
List1.Text essayez List1.Value je ne connait pas les concordances avec VB6
@
Commenter la réponse de cs_Le Pivert
cs_Le Pivert 5186 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 23 juin 2018 Dernière intervention - 28 avril 2010 à 10:30
0
Merci
La nuit portant conseil, je pense qu'il faut faire ceci:

'pour le texBox
private sub commande1_click()
dim XL as application
set Xl=createobject("Excel.application ") XL.workbooks.open app.path & "\mon fichier.xls"
xl.Range("A" & 3).Value = text1.Text
end sub

et pour la listBox
Private Sub List1_Change() 'à vérifier cette ligne
dim XL as application
set Xl=createobject("Excel.application ")
XL.workbooks.open app.path & "\mon fichier.xls"
xl.Range("B" & 23).Value = List1.Value
End Sub

Ce qui fait que lorsque vous sélectionnez un élement dans la listBox il s'inscrit dans Excel
@+ Le Pivert
Commenter la réponse de cs_Le Pivert
cs_hirondellle 35 Messages postés dimanche 21 mars 2010Date d'inscription 27 mai 2010 Dernière intervention - 28 avril 2010 à 22:09
0
Merci
ok je vais tester cala .........
Commenter la réponse de cs_hirondellle
cs_hirondellle 35 Messages postés dimanche 21 mars 2010Date d'inscription 27 mai 2010 Dernière intervention - 29 avril 2010 à 11:50
0
Merci
j'ai testé cela mais en vain....toujours le fichier excel se lance vide!!
Commenter la réponse de cs_hirondellle
cs_hirondellle 35 Messages postés dimanche 21 mars 2010Date d'inscription 27 mai 2010 Dernière intervention - 29 avril 2010 à 17:44
0
Merci
Merci Le Pivert ça marche

j'est modifier un peu la fonction comme suit et ça marche super



Private Function GetItemText()
Dim i As Integer
GetItemText = ""
' Return the text of the item using the index:
For i = 0 To List1.ListCount
Text3.Text = List1.List(i)

GetItemText = GetItemText & Text3.Text & vbCrLf

Next i
MsgBox (GetItemText)
End Function


merci pour votre aide
Commenter la réponse de cs_hirondellle
cs_Le Pivert 5186 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 23 juin 2018 Dernière intervention - 29 avril 2010 à 18:07
0
Merci
OK, c'était bien au niveau de la formulation de la listBox que cela coincé. Et vous avez mis cela dans un textBox. N'oubliez pas de mettre réponse acceptée.
@+ Le Pivert
Commenter la réponse de cs_Le Pivert

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.