Merci a tous ceux qui me repondent pour m aider par rapport a mon menu deroulant.
Cependant je dois mal m expliquer :
je sais comment remplir mon combo en feuil1 avec une liste de valeur en feuil2.
Ce que je cherche a faire :
je cherche a remplir une cellule en feuil1 avec plusieurs elements d une liste de valeur de ma feuil2; en utilisant mon menu deroulant pour ne pas avoir a saisir mes differents elements.
En resume, en cliquant sur mon menu deroulant, je souhaite faire apparaitre plusieurs reponses dans une meme cellule.
Encore merci pour vos explications.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
J-Dan
bonjour Philippe,
j'ai du mal a bien comprendre ce que tu veux faire. Sans doute le thermometre a-t-il pour effet de me ramollir les neurones :-)))
veux-tu :
1)Faire plusieurs choix dans ta liste ? si oui, il te faut utiliser un ListBox et relire la reponse que je t'ai donnee hier.
2)Faire 1 choix, puis par je ne sais quel algorithme afficher plusieurs valeurs dans ta cellule ?
NB - attention aux termes utilises. Un menu deroulant c'est un element de barre de menus, un ComboBox (zone de liste modifiable) et une ListBox (zone de liste) sont des choses differentes. Essaie aussi de rester dans la meme ficelle.
N'hesite pas a nous preciser precisement ce que tu veux faire.
J-Dan
-----Message d'origine----- Bonjour
Merci a tous ceux qui me repondent pour m aider par rapport a mon menu deroulant.
Cependant je dois mal m expliquer : je sais comment remplir mon combo en feuil1 avec une liste de valeur en feuil2.
Ce que je cherche a faire : je cherche a remplir une cellule en feuil1 avec plusieurs elements d une liste de valeur de ma feuil2; en
utilisant mon menu deroulant pour ne pas avoir a saisir mes differents elements.
En resume, en cliquant sur mon menu deroulant, je souhaite faire apparaitre plusieurs reponses dans une
meme cellule.
Encore merci pour vos explications. .
bonjour Philippe,
j'ai du mal a bien comprendre ce que tu veux faire. Sans
doute le thermometre a-t-il pour effet de me ramollir les
neurones :-)))
veux-tu :
1)Faire plusieurs choix dans ta liste ?
si oui, il te faut utiliser un ListBox et relire la
reponse que je t'ai donnee hier.
2)Faire 1 choix, puis par je ne sais quel algorithme
afficher plusieurs valeurs dans ta cellule ?
NB - attention aux termes utilises.
Un menu deroulant c'est un element de barre de menus, un
ComboBox (zone de liste modifiable) et une ListBox (zone
de liste) sont des choses differentes.
Essaie aussi de rester dans la meme ficelle.
N'hesite pas a nous preciser precisement ce que tu veux
faire.
J-Dan
-----Message d'origine-----
Bonjour
Merci a tous ceux qui me repondent pour m aider par
rapport a mon menu deroulant.
Cependant je dois mal m expliquer :
je sais comment remplir mon combo en feuil1 avec une
liste de valeur en feuil2.
Ce que je cherche a faire :
je cherche a remplir une cellule en feuil1 avec
plusieurs elements d une liste de valeur de ma feuil2; en
utilisant mon menu deroulant pour ne pas avoir a saisir
mes differents elements.
En resume, en cliquant sur mon menu deroulant, je
souhaite faire apparaitre plusieurs reponses dans une
j'ai du mal a bien comprendre ce que tu veux faire. Sans doute le thermometre a-t-il pour effet de me ramollir les neurones :-)))
veux-tu :
1)Faire plusieurs choix dans ta liste ? si oui, il te faut utiliser un ListBox et relire la reponse que je t'ai donnee hier.
2)Faire 1 choix, puis par je ne sais quel algorithme afficher plusieurs valeurs dans ta cellule ?
NB - attention aux termes utilises. Un menu deroulant c'est un element de barre de menus, un ComboBox (zone de liste modifiable) et une ListBox (zone de liste) sont des choses differentes. Essaie aussi de rester dans la meme ficelle.
N'hesite pas a nous preciser precisement ce que tu veux faire.
J-Dan
-----Message d'origine----- Bonjour
Merci a tous ceux qui me repondent pour m aider par rapport a mon menu deroulant.
Cependant je dois mal m expliquer : je sais comment remplir mon combo en feuil1 avec une liste de valeur en feuil2.
Ce que je cherche a faire : je cherche a remplir une cellule en feuil1 avec plusieurs elements d une liste de valeur de ma feuil2; en
utilisant mon menu deroulant pour ne pas avoir a saisir mes differents elements.
En resume, en cliquant sur mon menu deroulant, je souhaite faire apparaitre plusieurs reponses dans une
meme cellule.
Encore merci pour vos explications. .
AV
A adapter et sous réserve de bonne compréhension : tu veux récuperer dans "Feuil1", en A1:Ax, des choix multiples (maintien de la touche Ctrl pendant les choix) faits dans une ListBox qui est sur cette même feuille
Dans le module de la feuille : Private Sub ListBox1_GotFocus() ListBox1.MultiSelect = fmMultiSelectExtended 'Range("D1", Cells(ListBox1.ListCount, 4)).Clear End Sub
Private Sub ListBox1_LostFocus() X = 1 With ListBox1 For I = 0 To .ListCount - 1 If .Selected(I) = True Then Cells(X, 4) = .List(I) .Selected(I) = False X = X + 1 End If Next End With End Sub
Dans un module ordinaire (macro à affecter à un bouton) Sub récup() Range("A1", [A65536].End(3)).Clear Dim I%, J%, Arr With Sheets("Feuil1").ListBox1 ReDim Arr(1 To .ListCount, 1 To 1) For I = 0 To UBound(Arr) - 1 If .Selected(I) Then J = J + 1 Arr(J, 1) = .List(I) End If Next I End With Range("A1").Resize(I - 1) = Arr End Sub
AV
A adapter et sous réserve de bonne compréhension : tu veux récuperer dans
"Feuil1", en A1:Ax, des choix multiples (maintien de la touche Ctrl pendant les
choix) faits dans une ListBox qui est sur cette même feuille
Dans le module de la feuille :
Private Sub ListBox1_GotFocus()
ListBox1.MultiSelect = fmMultiSelectExtended
'Range("D1", Cells(ListBox1.ListCount, 4)).Clear
End Sub
Private Sub ListBox1_LostFocus()
X = 1
With ListBox1
For I = 0 To .ListCount - 1
If .Selected(I) = True Then
Cells(X, 4) = .List(I)
.Selected(I) = False
X = X + 1
End If
Next
End With
End Sub
Dans un module ordinaire (macro à affecter à un bouton)
Sub récup()
Range("A1", [A65536].End(3)).Clear
Dim I%, J%, Arr
With Sheets("Feuil1").ListBox1
ReDim Arr(1 To .ListCount, 1 To 1)
For I = 0 To UBound(Arr) - 1
If .Selected(I) Then
J = J + 1
Arr(J, 1) = .List(I)
End If
Next I
End With
Range("A1").Resize(I - 1) = Arr
End Sub
A adapter et sous réserve de bonne compréhension : tu veux récuperer dans "Feuil1", en A1:Ax, des choix multiples (maintien de la touche Ctrl pendant les choix) faits dans une ListBox qui est sur cette même feuille
Dans le module de la feuille : Private Sub ListBox1_GotFocus() ListBox1.MultiSelect = fmMultiSelectExtended 'Range("D1", Cells(ListBox1.ListCount, 4)).Clear End Sub
Private Sub ListBox1_LostFocus() X = 1 With ListBox1 For I = 0 To .ListCount - 1 If .Selected(I) = True Then Cells(X, 4) = .List(I) .Selected(I) = False X = X + 1 End If Next End With End Sub
Dans un module ordinaire (macro à affecter à un bouton) Sub récup() Range("A1", [A65536].End(3)).Clear Dim I%, J%, Arr With Sheets("Feuil1").ListBox1 ReDim Arr(1 To .ListCount, 1 To 1) For I = 0 To UBound(Arr) - 1 If .Selected(I) Then J = J + 1 Arr(J, 1) = .List(I) End If Next I End With Range("A1").Resize(I - 1) = Arr End Sub
AV
J-Dan
AV,
puis-je me permettre d'ajouter qu'il existe aussi la valeur fmMultiSelectMulti qui permet de selectionner plusieurs elements non contigus :
ListBox1.MultiSelect = fmMultiSelectMulti
Ce qui ne change rien au reste du code
J-Dan
-----Message d'origine----- A adapter et sous réserve de bonne compréhension : tu veux récuperer dans
"Feuil1", en A1:Ax, des choix multiples (maintien de la touche Ctrl pendant les
choix) faits dans une ListBox qui est sur cette même feuille
Dans le module de la feuille : Private Sub ListBox1_GotFocus() ListBox1.MultiSelect = fmMultiSelectExtended 'Range("D1", Cells(ListBox1.ListCount, 4)).Clear End Sub
Private Sub ListBox1_LostFocus() X = 1 With ListBox1 For I = 0 To .ListCount - 1 If .Selected(I) = True Then Cells(X, 4) = .List(I) .Selected(I) = False X = X + 1 End If Next End With End Sub
Dans un module ordinaire (macro à affecter à un bouton) Sub récup() Range("A1", [A65536].End(3)).Clear Dim I%, J%, Arr With Sheets("Feuil1").ListBox1 ReDim Arr(1 To .ListCount, 1 To 1) For I = 0 To UBound(Arr) - 1 If .Selected(I) Then J = J + 1 Arr(J, 1) = .List(I) End If Next I End With Range("A1").Resize(I - 1) = Arr End Sub
AV
.
AV,
puis-je me permettre d'ajouter qu'il existe aussi la
valeur fmMultiSelectMulti qui permet de selectionner
plusieurs elements non contigus :
ListBox1.MultiSelect = fmMultiSelectMulti
Ce qui ne change rien au reste du code
J-Dan
-----Message d'origine-----
A adapter et sous réserve de bonne compréhension : tu
veux récuperer dans
"Feuil1", en A1:Ax, des choix multiples (maintien de la
touche Ctrl pendant les
choix) faits dans une ListBox qui est sur cette même
feuille
Dans le module de la feuille :
Private Sub ListBox1_GotFocus()
ListBox1.MultiSelect = fmMultiSelectExtended
'Range("D1", Cells(ListBox1.ListCount, 4)).Clear
End Sub
Private Sub ListBox1_LostFocus()
X = 1
With ListBox1
For I = 0 To .ListCount - 1
If .Selected(I) = True Then
Cells(X, 4) = .List(I)
.Selected(I) = False
X = X + 1
End If
Next
End With
End Sub
Dans un module ordinaire (macro à affecter à un bouton)
Sub récup()
Range("A1", [A65536].End(3)).Clear
Dim I%, J%, Arr
With Sheets("Feuil1").ListBox1
ReDim Arr(1 To .ListCount, 1 To 1)
For I = 0 To UBound(Arr) - 1
If .Selected(I) Then
J = J + 1
Arr(J, 1) = .List(I)
End If
Next I
End With
Range("A1").Resize(I - 1) = Arr
End Sub
puis-je me permettre d'ajouter qu'il existe aussi la valeur fmMultiSelectMulti qui permet de selectionner plusieurs elements non contigus :
ListBox1.MultiSelect = fmMultiSelectMulti
Ce qui ne change rien au reste du code
J-Dan
-----Message d'origine----- A adapter et sous réserve de bonne compréhension : tu veux récuperer dans
"Feuil1", en A1:Ax, des choix multiples (maintien de la touche Ctrl pendant les
choix) faits dans une ListBox qui est sur cette même feuille
Dans le module de la feuille : Private Sub ListBox1_GotFocus() ListBox1.MultiSelect = fmMultiSelectExtended 'Range("D1", Cells(ListBox1.ListCount, 4)).Clear End Sub
Private Sub ListBox1_LostFocus() X = 1 With ListBox1 For I = 0 To .ListCount - 1 If .Selected(I) = True Then Cells(X, 4) = .List(I) .Selected(I) = False X = X + 1 End If Next End With End Sub
Dans un module ordinaire (macro à affecter à un bouton) Sub récup() Range("A1", [A65536].End(3)).Clear Dim I%, J%, Arr With Sheets("Feuil1").ListBox1 ReDim Arr(1 To .ListCount, 1 To 1) For I = 0 To UBound(Arr) - 1 If .Selected(I) Then J = J + 1 Arr(J, 1) = .List(I) End If Next I End With Range("A1").Resize(I - 1) = Arr End Sub
AV
.
AV
puis-je me permettre d'ajouter qu'il existe aussi la valeur fmMultiSelectMulti qui permet de selectionner plusieurs elements non contigus : ListBox1.MultiSelect = fmMultiSelectMulti
Heu.... oui mais "fmMultiSelectExtended" ça le fait aussi non ? Avec en plus la possibilité d'étendre la sélection ! Deux pour le prix d'un !
AV
Ce qui ne change rien au reste du code
J-Dan
-----Message d'origine----- A adapter et sous réserve de bonne compréhension : tu veux récuperer dans
"Feuil1", en A1:Ax, des choix multiples (maintien de la touche Ctrl pendant les
choix) faits dans une ListBox qui est sur cette même feuille
Dans le module de la feuille : Private Sub ListBox1_GotFocus() ListBox1.MultiSelect = fmMultiSelectExtended 'Range("D1", Cells(ListBox1.ListCount, 4)).Clear End Sub
Private Sub ListBox1_LostFocus() X = 1 With ListBox1 For I = 0 To .ListCount - 1 If .Selected(I) = True Then Cells(X, 4) = .List(I) .Selected(I) = False X = X + 1 End If Next End With End Sub
Dans un module ordinaire (macro à affecter à un bouton) Sub récup() Range("A1", [A65536].End(3)).Clear Dim I%, J%, Arr With Sheets("Feuil1").ListBox1 ReDim Arr(1 To .ListCount, 1 To 1) For I = 0 To UBound(Arr) - 1 If .Selected(I) Then J = J + 1 Arr(J, 1) = .List(I) End If Next I End With Range("A1").Resize(I - 1) = Arr End Sub
AV
.
puis-je me permettre d'ajouter qu'il existe aussi la
valeur fmMultiSelectMulti qui permet de selectionner
plusieurs elements non contigus :
ListBox1.MultiSelect = fmMultiSelectMulti
Heu.... oui mais "fmMultiSelectExtended" ça le fait aussi non ?
Avec en plus la possibilité d'étendre la sélection !
Deux pour le prix d'un !
AV
Ce qui ne change rien au reste du code
J-Dan
-----Message d'origine-----
A adapter et sous réserve de bonne compréhension : tu
veux récuperer dans
"Feuil1", en A1:Ax, des choix multiples (maintien de la
touche Ctrl pendant les
choix) faits dans une ListBox qui est sur cette même
feuille
Dans le module de la feuille :
Private Sub ListBox1_GotFocus()
ListBox1.MultiSelect = fmMultiSelectExtended
'Range("D1", Cells(ListBox1.ListCount, 4)).Clear
End Sub
Private Sub ListBox1_LostFocus()
X = 1
With ListBox1
For I = 0 To .ListCount - 1
If .Selected(I) = True Then
Cells(X, 4) = .List(I)
.Selected(I) = False
X = X + 1
End If
Next
End With
End Sub
Dans un module ordinaire (macro à affecter à un bouton)
Sub récup()
Range("A1", [A65536].End(3)).Clear
Dim I%, J%, Arr
With Sheets("Feuil1").ListBox1
ReDim Arr(1 To .ListCount, 1 To 1)
For I = 0 To UBound(Arr) - 1
If .Selected(I) Then
J = J + 1
Arr(J, 1) = .List(I)
End If
Next I
End With
Range("A1").Resize(I - 1) = Arr
End Sub
puis-je me permettre d'ajouter qu'il existe aussi la valeur fmMultiSelectMulti qui permet de selectionner plusieurs elements non contigus : ListBox1.MultiSelect = fmMultiSelectMulti
Heu.... oui mais "fmMultiSelectExtended" ça le fait aussi non ? Avec en plus la possibilité d'étendre la sélection ! Deux pour le prix d'un !
AV
Ce qui ne change rien au reste du code
J-Dan
-----Message d'origine----- A adapter et sous réserve de bonne compréhension : tu veux récuperer dans
"Feuil1", en A1:Ax, des choix multiples (maintien de la touche Ctrl pendant les
choix) faits dans une ListBox qui est sur cette même feuille
Dans le module de la feuille : Private Sub ListBox1_GotFocus() ListBox1.MultiSelect = fmMultiSelectExtended 'Range("D1", Cells(ListBox1.ListCount, 4)).Clear End Sub
Private Sub ListBox1_LostFocus() X = 1 With ListBox1 For I = 0 To .ListCount - 1 If .Selected(I) = True Then Cells(X, 4) = .List(I) .Selected(I) = False X = X + 1 End If Next End With End Sub
Dans un module ordinaire (macro à affecter à un bouton) Sub récup() Range("A1", [A65536].End(3)).Clear Dim I%, J%, Arr With Sheets("Feuil1").ListBox1 ReDim Arr(1 To .ListCount, 1 To 1) For I = 0 To UBound(Arr) - 1 If .Selected(I) Then J = J + 1 Arr(J, 1) = .List(I) End If Next I End With Range("A1").Resize(I - 1) = Arr End Sub
AV
.
J-Dan
AV,
exact, la selection multiple avec [ctrl] m'etait sortie de la tete, (maudits neurone ramollis !)
J-Dan
-----Message d'origine-----
puis-je me permettre d'ajouter qu'il existe aussi la valeur fmMultiSelectMulti qui permet de selectionner plusieurs elements non contigus : ListBox1.MultiSelect = fmMultiSelectMulti
Heu.... oui mais "fmMultiSelectExtended" ça le fait aussi non ?
Avec en plus la possibilité d'étendre la sélection ! Deux pour le prix d'un !
AV
Ce qui ne change rien au reste du code
J-Dan
-----Message d'origine----- A adapter et sous réserve de bonne compréhension : tu veux récuperer dans
"Feuil1", en A1:Ax, des choix multiples (maintien de la touche Ctrl pendant les
choix) faits dans une ListBox qui est sur cette même feuille
Dans le module de la feuille : Private Sub ListBox1_GotFocus() ListBox1.MultiSelect = fmMultiSelectExtended 'Range("D1", Cells(ListBox1.ListCount, 4)).Clear End Sub
Private Sub ListBox1_LostFocus() X = 1 With ListBox1 For I = 0 To .ListCount - 1 If .Selected(I) = True Then Cells(X, 4) = .List(I) .Selected(I) = False X = X + 1 End If Next End With End Sub
Dans un module ordinaire (macro à affecter à un bouton) Sub récup() Range("A1", [A65536].End(3)).Clear Dim I%, J%, Arr With Sheets("Feuil1").ListBox1 ReDim Arr(1 To .ListCount, 1 To 1) For I = 0 To UBound(Arr) - 1 If .Selected(I) Then J = J + 1 Arr(J, 1) = .List(I) End If Next I End With Range("A1").Resize(I - 1) = Arr End Sub
AV
.
.
AV,
exact, la selection multiple avec [ctrl] m'etait sortie
de la tete, (maudits neurone ramollis !)
J-Dan
-----Message d'origine-----
puis-je me permettre d'ajouter qu'il existe aussi la
valeur fmMultiSelectMulti qui permet de selectionner
plusieurs elements non contigus :
ListBox1.MultiSelect = fmMultiSelectMulti
Heu.... oui mais "fmMultiSelectExtended" ça le fait
aussi non ?
Avec en plus la possibilité d'étendre la sélection !
Deux pour le prix d'un !
AV
Ce qui ne change rien au reste du code
J-Dan
-----Message d'origine-----
A adapter et sous réserve de bonne compréhension : tu
veux récuperer dans
"Feuil1", en A1:Ax, des choix multiples (maintien de la
touche Ctrl pendant les
choix) faits dans une ListBox qui est sur cette même
feuille
Dans le module de la feuille :
Private Sub ListBox1_GotFocus()
ListBox1.MultiSelect = fmMultiSelectExtended
'Range("D1", Cells(ListBox1.ListCount, 4)).Clear
End Sub
Private Sub ListBox1_LostFocus()
X = 1
With ListBox1
For I = 0 To .ListCount - 1
If .Selected(I) = True Then
Cells(X, 4) = .List(I)
.Selected(I) = False
X = X + 1
End If
Next
End With
End Sub
Dans un module ordinaire (macro à affecter à un bouton)
Sub récup()
Range("A1", [A65536].End(3)).Clear
Dim I%, J%, Arr
With Sheets("Feuil1").ListBox1
ReDim Arr(1 To .ListCount, 1 To 1)
For I = 0 To UBound(Arr) - 1
If .Selected(I) Then
J = J + 1
Arr(J, 1) = .List(I)
End If
Next I
End With
Range("A1").Resize(I - 1) = Arr
End Sub
exact, la selection multiple avec [ctrl] m'etait sortie de la tete, (maudits neurone ramollis !)
J-Dan
-----Message d'origine-----
puis-je me permettre d'ajouter qu'il existe aussi la valeur fmMultiSelectMulti qui permet de selectionner plusieurs elements non contigus : ListBox1.MultiSelect = fmMultiSelectMulti
Heu.... oui mais "fmMultiSelectExtended" ça le fait aussi non ?
Avec en plus la possibilité d'étendre la sélection ! Deux pour le prix d'un !
AV
Ce qui ne change rien au reste du code
J-Dan
-----Message d'origine----- A adapter et sous réserve de bonne compréhension : tu veux récuperer dans
"Feuil1", en A1:Ax, des choix multiples (maintien de la touche Ctrl pendant les
choix) faits dans une ListBox qui est sur cette même feuille
Dans le module de la feuille : Private Sub ListBox1_GotFocus() ListBox1.MultiSelect = fmMultiSelectExtended 'Range("D1", Cells(ListBox1.ListCount, 4)).Clear End Sub
Private Sub ListBox1_LostFocus() X = 1 With ListBox1 For I = 0 To .ListCount - 1 If .Selected(I) = True Then Cells(X, 4) = .List(I) .Selected(I) = False X = X + 1 End If Next End With End Sub
Dans un module ordinaire (macro à affecter à un bouton) Sub récup() Range("A1", [A65536].End(3)).Clear Dim I%, J%, Arr With Sheets("Feuil1").ListBox1 ReDim Arr(1 To .ListCount, 1 To 1) For I = 0 To UBound(Arr) - 1 If .Selected(I) Then J = J + 1 Arr(J, 1) = .List(I) End If Next I End With Range("A1").Resize(I - 1) = Arr End Sub