données dans un combobox suivant colonne dans excel2003

deeppurple

XLDnaute Nouveau
bonjour le forum,

j'ai un userform avec des textbox et des combobox
exemple
textbox1 = 10
combobox1 = ecran
textbox2 = 20

textbox 3 = 15
combobox2 = alu
textbox4 = 55

mes données vont dans un tableau excel
si combobox1 =ecran mes données vont en a1 (textbox1)et a2(textbox2)
si combobox2 = alu mes données vont en a3(textbox3) et a4(textbox4)
j'ai 2 colonnes ecran et alu
a1,a2,a3,a4 sont des sous colonnes
j'ai reussi avec ce code

mes données vont bien où je veux dans mon tableau

Code:
Private Sub CommandButton1_Click()
Sheets("entrée").Activate
Dim Xls As Worksheet, lLig As Long
    Set Xls = ThisWorkbook.Worksheets("entrée")
    'Recherche la ligne disponible
    lLig = 3
    While Xls.Cells(lLig, 1) <> ""
        lLig = lLig + 1
    Wend
    
   Xls.Cells(lLig, 1) = TextBox113.Value
    Xls.Cells(lLig, 3) = TextBox112.Value
   Xls.Cells(lLig, 4) = TextBox111.Value
   Xls.Cells(lLig, 5) = TextBox110.Value
    ' Aiguillage selon la nature
    Select Case ComboBox55
        Case "uc"
        Xls.Cells(lLig, 6) = TextBox90.Value
        Xls.Cells(lLig, 7) = TextBox108.Value
        Case "ecran"
        Xls.Cells(lLig, 8) = TextBox90.Value
        Xls.Cells(lLig, 9) = TextBox108.Value
    End Select
    
Unload Me
End Sub

par contre j'ai un problème pour récupérer mes données dans mon userform

Je voudrais par exemple si a1 = 5, a2=10 (dans la colonne "écran")
mon textbox1 = 5
mon textbox2 = 10
mon combobox1 ="écran"
j'ai essayé avec des if then else mais je patauge dans la semoule

si quelqu'un pouvez m'aider, ca serait cool
 

ledzepfred

XLDnaute Impliqué
Re : données dans un combobox suivant colonne dans excel2003

salut deeppurple (cool ton pseudo:)),

l'idéal eut été de mettre un petit fichier en pj pour que ce soit plus clair (tu écoutes trop Smoke On The Water, :pok celle-là est un peu facile).

Dans l'attente de te lire

A+
 
C

Compte Supprimé 979

Guest
Re : données dans un combobox suivant colonne dans excel2003

Bonsoir à vous,

Qui l'aurait cru ...
DeepPurple et LedZep réuni sur un même post qui plus est sur un forum Excel :p:D

Qu'est-ce que vous nous préparez comme concert ?
Punaise un bon vieux Hard rock ... allez y ....

mouarf2.gif



A+
 

deeppurple

XLDnaute Nouveau
Re : données dans un combobox suivant colonne dans excel2003

ton pseudo cool également (fan de led zeppelin?)

je voulais t'envoyer mon fichier reduit mais avec mes userform mais il est trop grand.
Je te joints mon tableau excel à défaut

si cela peut t'aider
 

Pièces jointes

  • deep2009.xls
    14 KB · Affichages: 53

jeanpierre

Nous a quitté
Repose en paix
Re : données dans un combobox suivant colonne dans excel2003

Bonsoir deeppurple, ledzepfred, BrunoM45,

deepppurple, si tu prends l'habitude de compresser ton fichier, tu verras qu'il passe sur le forum avec ton USF et ton code.

Clic droit sur ton fichier et envoyer vers/Dossier compressé....

Bonne nuit.

Jean-Pierre
 

ledzepfred

XLDnaute Impliqué
Re : données dans un combobox suivant colonne dans excel2003

Bonsoir à tous,

@ deeppurple : effectivement fan de led zep mais aussi tout ce qui se faisait dans les années 70, du hard au rock psychédélique en passant par le blues.
Sinon pour ton pb, sans l'USF on ne peut rien faire donc suis les conseils avisés de jeanpierre et donnes plus d'explications sur ton pb ainsi que ton niveau en vba.

@ Bruno : ok pour le concert mais ils faudraient que je change les cordes de ma guitare et reviser les accords de Smoke On the Water :D

A+
 

deeppurple

XLDnaute Nouveau
Re : données dans un combobox suivant colonne dans excel2003

rebonsoir ledzepfred
je veux bien t'envoyer mon userform meme en enlevant le maximum, en compressant je suis à 103ko donc ca ne passe pas donc je t'ai fait un apercu de mon usf avec le nom de mes combobox et de mes textbox et je te mets à la suite mes codes


Code:
Function LigneRechercher(sTexteCherche As String) As Integer
Dim c As Object
With Worksheets(1).Range("a3:a65536")
    Set c = .Find(sTexteCherche, LookIn:=xlValues)
    If Not c Is Nothing Then
        LigneRechercher = c.Row
    Else
        LigneRechercher = Range("A65536").End(xlUp).Offset(1, 0).Row
    End If
End With
End Function




        Private Sub ComboBox56_Change()
Dim c As Object ' Variable résultat de la recherche
Dim iLignes As Integer
    ' Recherche du nombre de ligne de la plage de données
    iLignes = Application.WorksheetFunction.CountA(Range("entrée!A:A"))
    ' La recherche s'effectue dans la plage A2:Axx de la feuille Feuil1
    With Range("entrée!A3:A" & iLignes)
        Set c = .Find(What:=Trim(ComboBox56), LookIn:=xlValues, _
                LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
                MatchCase:=False, SearchFormat:=False)
        On Error Resume Next
        ' Le textBox txtNomreçoit la valeur contenue dans la colonne B de la ligne correspondant à la référence cherchée
        Me.TextBox113 = c.Offset(0, 1)
        Me.TextBox114 = c.Offset(0, 2)
        Me.TextBox112 = c.Offset(0, 3)
        Me.TextBox110 = c.Offset(0, 5)
        Me.TextBox111 = c.Offset(0, 4)
        
       'la je sais pas comment mettre la condition if then else
        
        
        
   End With
   

   
End Sub

Private Sub CommandButton1_Click()
Sheets("entrée").Activate
Dim Xls As Worksheet, lLig As Long
    Set Xls = ThisWorkbook.Worksheets("entrée")
    'Recherche la ligne disponible
    lLig = 3
    While Xls.Cells(lLig, 1) <> ""
        lLig = lLig + 1
    Wend
    ' insere les donnees de la commande des cinq premieres colonnes
     Xls.Cells(lLig, 1) = ComboBox56.Value
    Xls.Cells(lLig, 4) = TextBox112.Value
    Xls.Cells(lLig, 3) = TextBox114.Value
   Xls.Cells(lLig, 2) = TextBox113.Value
   Xls.Cells(lLig, 5) = TextBox111.Value
   Xls.Cells(lLig, 6) = TextBox110.Value
   
  Select Case ComboBox55
        Case "uc"
        Xls.Cells(lLig, 8) = TextBox90.Value
        Xls.Cells(lLig, 9) = TextBox108.Value
        Case "ecran"
        Xls.Cells(lLig, 11) = TextBox90.Value
        Xls.Cells(lLig, 12) = TextBox108.Value
         Case "Alimentations"
        Xls.Cells(lLig, 14) = TextBox90.Value
        Xls.Cells(lLig, 15) = TextBox108.Value
        End Select
        Select Case ComboBox54
        Case "uc"
        Xls.Cells(lLig, 8) = TextBox89.Value
        Xls.Cells(lLig, 9) = TextBox107.Value
        Case "ecran"
        Xls.Cells(lLig, 11) = TextBox89.Value
        Xls.Cells(lLig, 12) = TextBox107.Value
         Case "Alimentations"
        Xls.Cells(lLig, 14) = TextBox89.Value
        Xls.Cells(lLig, 15) = TextBox107.Value
    End Select
Unload Me
End Sub


Private Sub UserForm_Initialize()
Sheets("entrée").Activate
Dim iLignes As Integer
    iLignes = Range("A65536").End(xlUp).Row
    Me.ComboBox56.RowSource = "=entrée!$A$3:$A" & iLignes
Sheets("liste de choix").Activate

For i = 1 To 60
Me.ComboBox55.AddItem Range("C" & i).Value
Next
For i = 1 To 60
Me.ComboBox54.AddItem Range("C" & i).Value
Next



End Sub

et pour info mon niveau est débutant et je suis en train de faire un logiciel de gestion pour mon atelier
 

Pièces jointes

  • 002.jpg
    002.jpg
    26.1 KB · Affichages: 46

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz