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

Signaler
Messages postés
35
Date d'inscription
dimanche 21 mars 2010
Statut
Membre
Dernière intervention
27 mai 2010
-
Messages postés
7421
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
19 juin 2021
-
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

14 réponses

Messages postés
7421
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
19 juin 2021
124
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
@+
Messages postés
7421
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
19 juin 2021
124
Bonjour,
Mettre:
Range("A1") = ListBox1.Value
@+
Messages postés
35
Date d'inscription
dimanche 21 mars 2010
Statut
Membre
Dernière intervention
27 mai 2010

Ce code ne marche pas !!!!!!
Messages postés
7421
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
19 juin 2021
124
L'avez-vous employé comme ceci?
Private Sub ListBox1_Change()
Range("A1") = ListBox1.Value
End Sub
@+
Messages postés
35
Date d'inscription
dimanche 21 mars 2010
Statut
Membre
Dernière intervention
27 mai 2010

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 .
Messages postés
7421
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
19 juin 2021
124
C'est en VBA Excel?
C'est dans un UserForm?
Messages postés
35
Date d'inscription
dimanche 21 mars 2010
Statut
Membre
Dernière intervention
27 mai 2010

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
Messages postés
7421
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
19 juin 2021
124
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
Messages postés
7421
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
19 juin 2021
124
Je viens de me relire, si cela ne marche pas avec
List1.Text essayez List1.Value je ne connait pas les concordances avec VB6
@
Messages postés
7421
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
19 juin 2021
124
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
Messages postés
35
Date d'inscription
dimanche 21 mars 2010
Statut
Membre
Dernière intervention
27 mai 2010

ok je vais tester cala .........
Messages postés
35
Date d'inscription
dimanche 21 mars 2010
Statut
Membre
Dernière intervention
27 mai 2010

j'ai testé cela mais en vain....toujours le fichier excel se lance vide!!
Messages postés
35
Date d'inscription
dimanche 21 mars 2010
Statut
Membre
Dernière intervention
27 mai 2010

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
Messages postés
7421
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
19 juin 2021
124
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