Alimenter une BDD suivant l'entête selectionner

Meloman

XLDnaute Occasionnel
bonjour à tous je viens vous demander de l'aide car je suis bloquer sur mon projet.

j'ai un USF avec une combobox dont la liste sont les entête de mes colonnes

un Textbox ou je saisies des valeur qui sont ajouter par la suite à ma listbox grâce à un bouton +

et pour finir un bouton qui ajoute à ma base de donnée la liste de ma listebox et c'est là le problème

je cherche une solution pour ajouter cette liste dans la feuil 1 mais part apport au nom de mes entête dans ma combobox1 que j'ai choisie et non par apport au lettre A B C de ma feuil de calcule

comment puis je procéder pour avoir ce résultat svp d'avance merci.
 

Pièces jointes

  • Classeur4.xls
    25.5 KB · Affichages: 46
  • Classeur4.xls
    25.5 KB · Affichages: 47
  • Classeur4.xls
    25.5 KB · Affichages: 47

jp14

XLDnaute Barbatruc
Re : Alimenter une BDD suivant l'entête selectionner

Bonjour

Ci dessous un code qui devrait répondre à la question

Code:
Dim Nomfeuille1 As String

Private Sub CommandButton1_Click()
Dim Dl1 As Long ' dernière ligne
Dim col As Long
Dim i As Long
If Me.ComboBox1.ListIndex = -1 Then Exit Sub
With Sheets(Nomfeuille1)
col = CLng(ComboBox1.List(ComboBox1.ListIndex, ComboBox1.ColumnCount - 1))
Dl1 = .Cells(Columns(col).Cells.Count, col).End(xlUp).Row + 1 ' avec numéro de colonne
For i = o To Me.ListBox1.ListCount - 1
    .Cells(Dl1, col) = Me.ListBox1.List(i)
    Dl1 = Dl1 + 1
Next i
End With
End Sub

......................................


Private Sub UserForm_Initialize()
'Me.ComboBox1.List = Application.Transpose(Range("choix"))
Dim col As String
Dim cellule As Range
Dim Ligdep As Integer
Dim dc1 As Long
'paramètre
col = "a"
Nomfeuille1 = "Feuil1"
Ligdep = 5
'
With ComboBox1
    .Clear
    .ColumnCount = 2
    .ColumnWidths = "60;0;0"
    .Style = fmStyleDropDownList '
    '.Width = 100
    '.BoundColumn = 1 ' combobox1.text contient le nom
    dc1 = Sheets(Nomfeuille1).Cells(1, Rows(1).Cells.Count).End(xlToLeft).Column
    For Each cellule In Sheets(Nomfeuille1).Range(Cells(1, 1), Cells(1, dc1))
            .AddItem cellule.Value
            .List(.ListCount - 1, .ColumnCount - 1) = cellule.Column
        
    Next cellule
End With
'col = CLng(ComboBox1.List(ComboBox1.ListIndex, ComboBox1.ColumnCount - 1))
    With Me.ListBox1 'evite de répéter cette expression devant les Points
        .ColumnCount = 1 'on affecte 8 colonnes à la listBox
        .ColumnWidths = "40;" 'largeurs colonnes
    End With
           
End Sub

A tester

JP
 

Meloman

XLDnaute Occasionnel
Re : Alimenter une BDD suivant l'entête selectionner

Bonjour JP14 merci pour ton aide c'est génial tu ma sortis une grosse épine du pied grace a toi et tous les xld je n’arrête pas évoluer et de mettre vos conseil et aide en pratique pour tous cela un grand merci
 

Discussions similaires

Réponses
21
Affichages
1 K

Statistiques des forums

Discussions
312 329
Messages
2 087 334
Membres
103 520
dernier inscrit
Azise