Copier listbox vers une autre listbox vba

juliet -  
 juliet -
Bonjour,

Je voudrais copier le contenu d'une listbox sur une autre listbox d'un userform différent, a l'aide d'un commandbutton.
Voilà ce que j'ai écrit, mais ca ne marche pas. Y a t il quelquechose à changer dans la propriété de la lisbox? car je le fait avec des textbox ca marche.

Private Sub CommandButton1_Click()
Moyennehistorique.ListBox2.Value = Me.ListBox1.Value
End Sub

Merci beaucoup


8 réponses

juliet
 
Merci de ta réponse rapide,

Je veux copier la liste complete

Merci
1
Krysstof Messages postés 1489 Date d'inscription   Statut Membre Dernière intervention   294
 
"Value" sur une list box représente uniquement la valeur sélectionnée.

tu veux copier tout le contenu (c'est a dire la liste complete)? ou juste la valeur sélectionnée ?
0
Krysstof Messages postés 1489 Date d'inscription   Statut Membre Dernière intervention   294
 
ca copie le contenu de listbox1 dans listbox2 :

Dim i As Integer

For i = 0 To ListBox1.ListCount - 1
ListBox2.AddItem ListBox1.List(i)
Next


amuse toi bien
0
juliet
 
Merci, mais ca ne marche pas, j'ai écrit ca:

Private Sub CommandButton1_Click()

Dim i As Integer

For i = 0 To historiqueetm.ListBox1.ListCount - 1
Me.ListBox1.AddItem historiqueetm.ListBox1.List(i)
Next

End Sub

Car c'est 2 userforms différents.

Merci beaucoup
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Krysstof Messages postés 1489 Date d'inscription   Statut Membre Dernière intervention   294
 
ca marche pas = quoi?

un message d'erreur, ou ca ne fait rien?


sinon, "Me." n'est pas nécessaire. et comment est-ce que historiqueetm est chargée ?
0
juliet
 
Je viens d'enlever le Me, mais toujours rien.
Je n'ai pas de message d'erreur, mais rien ce se passe.

je ne comprends pas chargée comment??

Merci
0
Krysstof Messages postés 1489 Date d'inscription   Statut Membre Dernière intervention   294
 
euh, ben si ca ne fait pas de message d'erreur, cela veut dire ca fonctionne

mais ta listbox source ne contient aucune valeur, quand je demande comment est-elle chargée, je veux dire comment le contenu de la listbox est alimenté?

tous les bouton, listbox, combobox, textbox etc... sont des controles.

sur un userform excel, il faut qu'il soit initialisé (chargé, alimenté) pour pouvoir lire le contenu de ce controle.

l'avantage d'excel est qu'une fois qu'un userform est chargé, et que ses controles sont initialisé, tu peux fermer ce userform et appeler les valeurs de ce userform dans d'autre userform, mais il ne faut pas que la procédure de fermeture vide les controles, ou que l'alimentation du controle soit dynamique et dépende d'autre valeur.

rajoute
Msgbox historiqueetm.ListBox1.ListCount
en première ligne du clic du bouton

cela te fera un popup avec le nombre de ligne vue dans la listbox.
si c'est 0 ou -1 cela veut dire que la listbox n'est pas initialisée.

faudra que tu donne plus d'info sur comment tu ouvre tes userform, plus de code
0
juliet
 
Merci pour ces précisions,

j'ai rajouté Msgbox historiqueetm.ListBox1.ListCount
et ca m'a mis 0.

En j'ai un commandbutton sur un userform qui ouvre 3 userforms differents:
Private Sub CommandButton1_Click()
historiqueetm.Show
historiquegranulo.Show
historiquechimiques.Show

Dim i As Integer
MsgBox historiqueetm.ListBox1.ListCount
For i = 0 To historiqueetm.ListBox1.ListCount - 1
ListBox1.AddItem historiqueetm.ListBox1.List(i)
Next


End Sub


Sur ces 3 userforms, il y une listbox qui est alimentée comme ca:

Private Sub UserForm_activate()
TextBox1.Enabled = False
i = 4

If TextBox1.Value = "SIL9" Then
Do While Worksheets("analyses chimiques").Cells(3, i) <> ""
If IsNumeric(Worksheets("analyses chimiques").Cells(3, i).Value) Then
ListBox1.AddItem Worksheets("analyses chimiques").Cells(2, i).Value
End If
i = i + 1
Loop
End If
ca repeté environ 70 fois et ca ca fonctionne impec
End Sub

Au départ je n'avais pas fait 3 userforms différents mais ca écrivait direct dans mes listbox, mais à la fin ca m'a dit procédure trop longue c'est pourquoi je suis arrivé à 3 userforms différentes.

et en fait je veux que les données de mes 3 userforms soit dans mes 3 listbox du userforms du départ etca m'arrangerai si ces 3 userforms n'apparaissaient pas.


J'espère que j'ai été claire ...
Merci de ta compréhension
0