Sélection dans une listebox

  • Initiateur de la discussion Initiateur de la discussion sakakila
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

sakakila

Guest
bonjour,

je début en vba et je ne comprends pas tous. JE veux créer une liste déroulant afin d'aider à la saisie de fiche de production. J'ai réussi à récuper les données mais je n'arrive pas à garder ma sélection valide pour la copier dans une cellule excel. il me prend toujours le premier enregistrement.
Qu'est ce que j'oubli ??

merci de votre aide.

a+

Private Sub CommandButton1_Click()
Sheets("base").Select

Dim Liste As String
Liste = Range("A1").End(xlDown).Address
' Plage de données pour afficher dans liste déroulante
ListBox1.RowSource = "A1:" & Liste
' Afficher le premier enregistrement de la liste (0)
ListBox1.ListIndex = 0
Index = ListBox1.ListIndex
ChoixListe1 = ListBox1.List(Index)


Sheets("TextBox").Select
ActiveSheet.Unprotect

' Stockage du résultat dans les cellules temp
Range("A1").Value = ChoixListe1
Range("C1") = Format(TextBox2.Value, "dd/mm/yyyy")
Range("E1") = TextBox3.Value
Range("G1") = Format(TextBox4.Value, "0"" ""00"" ""00"" ""00"" ""000"" ""000"" ""/"" ""00")
Range("I1") = Format(TextBox5.Value, "00"" ""00"" ""00"" ""00"" ""00")


For i = 1 To 5
If Controls("opt" & i).Value = True Then
Range("K1").Value = Controls("opt" & i).Caption
End If
Next i
Range("a1").Select
Selection.Copy
Range("A65536").End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False


Etc ...
 
houpss!!!!

pourquoi faire compliquer quand on peux faire simple ????


merci merci



une dernière et je continuerais à lire demain "Le dico" Excel.

Losque que je ferme la boite par la croix (en haut à droit) et non par le bouton annulé de la boite. J'obtient une boite de dialogue vide à l'ouverture.

Comment désactiver la croix de fermeture de la boite de dialogue ou comment restaurer la boite de dialogue à l'ouverture ??


merci encore
 
Salut"sakakila"et "Hervé"
bonsoir le "FORUM"

je pense qu'il te faut utiliser la proprieté change de ta listBox1 pour faire changer la valeur de A1 en feuille "TextBox"

Private Sub ListBox1_Change()
Sheets("TextBox").Range("A1") = ListBox1.Value
End Sub
ansi quand tu click dans ta liste c'est l'élément choisi qui s'affiche en cellule A1
A+++
Jean Marie
 
houpss!!!!

pourquoi faire compliquer quand on peux faire simple ????


merci merci



une dernière et je continuerais à lire demain "Le dico" Excel.

Losque que je ferme la boite par la croix (en haut à droit) et non par le bouton annulé de la boite. J'obtient une boite de dialogue vide à l'ouverture.

Comment désactiver la croix de fermeture de la boite de dialogue ou comment restaurer la boite de dialogue à l'ouverture ??


merci encore
 
Bonjour le forum
Bonjour sakakila, bonjour Jean Marie

Pour info, il ne faut pas mettre ListIndex = 0 pour l'affichage du 1er enregistrement de la liste car il est forcément pris en compte en plus du choix effectué. Ainsi, tu as 2 valeurs reportées même si ton multiselect est à single (0)

With UserForm1.ListBox1
.RowSource = "A1:" & Liste
' Afficher le premier enregistrement de la liste (0)
Non ==> .ListIndex = 0

Tu auras au moins eu 2 lecteurs....lol...
Amitiés.
@ ++ Eric C
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
10
Affichages
418
Réponses
4
Affichages
591
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
801
Réponses
10
Affichages
603
Réponses
7
Affichages
466
Réponses
4
Affichages
524
Retour