Userform : envoyer données suivant choix dans une combobox

  • Initiateur de la discussion Initiateur de la discussion mrzaitsev90
  • 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 !

mrzaitsev90

XLDnaute Occasionnel
Bonsoir à tous,

J'ai un petit souci. Je ne suis pas assez fort en VBA pour réaliser ce code.

Je m'explique : http://cjoint.com/?DCcuWhffXBA

Le but serait de rentrer des infos liées aux références sélectionnées dans les combobox de gauche.

Si je choisis une référence, j'aimerais pouvoir rentrer dans les deux box suivantes, un nombre composé de 8 chiffres. Dans la textbox suivante, une date à noter avec la forme "SEM 1" par exemple. Enfin dans la dernière, il suffirait de choisir dans la liste déroulante.

A chaque fois, on pourrait le faire pour plusieurs références et le fait de valider, enverrait ces données dans le tableau.

En rentrant les données une première fois pour une référence, ces données se placeraient dans les colonnes C1.

Si je rentre des données à nouveau pour la même référence, ces données se placeraient dans les colonnes C2. etc etc...

...jusqu'à la colonne C5.

Voilà, j'espère être compréhensible.

Cela m'aiderait énormément.

Merci d'avance.

MrZaitsev90
 
Re : Userform : envoyer données suivant choix dans une combobox

Bonsoir
En effet pas très compréhensible
Voici ton fichier en retour
Alimenter les TextBox 1 à 5 en fonction du choix de la Combobox1

Code:
Option Compare Text
Dim f
Private Sub UserForm_Initialize()
   Dim temp
   Dim mondico
   Dim c As Range
   Set f = Sheets("Feuil1")
   Set mondico = CreateObject("Scripting.Dictionary")
   For Each c In Range(f.[A2], f.[A65000].End(xlUp))
      If c.Value <> "" Then mondico.Item(c.Value) = c.Value
   Next c
      temp = mondico.items
   Call tri(temp, LBound(temp), UBound(temp))
   Me.ComboBox1.List = temp
 End Sub
Sub tri(a, gauc, droi) ' Quick sort
   ref = a((gauc + droi) \ 2)
   g = gauc: d = droi
   Do
     Do While a(g) < ref: g = g + 1: Loop
     Do While ref < a(d): d = d - 1: Loop
     If g <= d Then
       temp = a(g): a(g) = a(d): a(d) = temp
       g = g + 1: d = d - 1
     End If
   Loop While g <= d
   If g < droi Then Call tri(a, g, droi)
   If gauc < d Then Call tri(a, gauc, d)
 End Sub
Private Sub CommandButton2_Click()
   Unload Userform1
End Sub
Private Sub ComboBox1_Click()
    Set f = Sheets("Feuil1")
    ligne = f.[A:A].Find(ComboBox1.Value, LookIn:=xlValues).Row
    Me.TextBox1 = f.Cells(ligne, 2)
    Me.TextBox2 = f.Cells(ligne, 3)
    Me.TextBox3 = f.Cells(ligne, 4)
    Me.TextBox4 = f.Cells(ligne, 5)
    Me.TextBox5 = f.Cells(ligne, 5)
 End Sub
Je te laisse voir pour la suite.
A+
Je vais me coucher ??
Si tu as des problèmes on peut regarder demain soir
 

Pièces jointes

Re : Userform : envoyer données suivant choix dans une combobox

Bonsoir,

Merci de votre aide.

Pour être plus clair, j'ai fait un screenshot du formulaire que vous avez modifié.

Il concerne la première fois que vous rentrez des données pour la Ref 1, la Ref 2 et la Ref 3.

Si vous entrez toutes ces données concernant ces références, et que vous validez, ces données iront dans les C1.

Si vous rechargez ce USF avec d'autres références de la liste et que vous validez, ces données iront également dans les C1.

Mais par contre, si vous entrez à nouveau des données concernant la ref 1, la ref 2 ou la ref 3 et que vous validez, ces données iront dans les C2.. et ainsi de suite jusqu'à C5. Après, il doit y avoir une impossibilité d'aller en C6 qui n'existe pas d'ailleurs.

Je pense que c'est plus clair. Même moi je comprends mieux, non je déconne.. 😀

screenshotprojet.png

Merci si vous y arrivez.

Mrzaitsev90
 
- 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

Discussions similaires

Retour