Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 problème de restitution valeur de cellule dans un ComboBox d'un UserForm

rodger85

XLDnaute Nouveau
Bonjour
j'ai un problème de restitution valeur de cellule dans un ComboBox d'un UserForm
ces valeurs on été enregistrer via macro elles sont bien en Feuil2 mais impossible de les remettre dans le ComboBox
alors qu'avec les CheckBox cela se passe très bien
Merci d'avance
 

Pièces jointes

  • test-Memorise-ComboBox-V1.xlsm
    36.5 KB · Affichages: 11
Solution
Bonjour

j'ai trouvé ma solution très simpliste pour ComboBox et commandButton et Label

VB:
Dim lgn As Long  (en déclaration )

''dans la macro du commandbutton pour memoriser

lgn = ActiveCell.Row  'Formule magique


Feuil2.Cell(lgn, 1) = ComboBox1.Value 'pour CommandButton.Caption et pour Label.Caption

Feuil2.Cell(lgn, 2) = ComboBox2.Value


'et pour relire dans intialize

ComboBox1.Value = Feuil2.Cell(lgn, 1)

ComboBox2.Value = Feuil2.Cell(lgn, 2)

le seul problème c'est que chaque ComboBox commandbutton et Label me prend une colonne et une cellule dans la feuil2

(12 combobox et 6 commandbutton et 2 label +48 checkBox) cela fait 21 colonnes en tout

mais vu que j'ai une feuille qui ne sert qu'a cela ça ne me dérange pas...

rodger85

XLDnaute Nouveau
Bonjour

j'ai trouvé ma solution très simpliste pour ComboBox et commandButton et Label

VB:
Dim lgn As Long  (en déclaration )

''dans la macro du commandbutton pour memoriser

lgn = ActiveCell.Row  'Formule magique


Feuil2.Cell(lgn, 1) = ComboBox1.Value 'pour CommandButton.Caption et pour Label.Caption

Feuil2.Cell(lgn, 2) = ComboBox2.Value


'et pour relire dans intialize

ComboBox1.Value = Feuil2.Cell(lgn, 1)

ComboBox2.Value = Feuil2.Cell(lgn, 2)

le seul problème c'est que chaque ComboBox commandbutton et Label me prend une colonne et une cellule dans la feuil2

(12 combobox et 6 commandbutton et 2 label +48 checkBox) cela fait 21 colonnes en tout

mais vu que j'ai une feuille qui ne sert qu'a cela ça ne me dérange pas

une autre solution par Eric Kergresse qui marche bien

Code:
'--------------------------------OK pour memorise ComboBox
    For Each Ctrl In Me.Controls
        If TypeOf Ctrl Is MSForms.ComboBox Then
           Select Case Ctrl.Name
                  Case "ComboBox1"
                       cbval(0) = Ctrl.Object.Text
                  Case "ComboBox2"
                       cbval(1) = Ctrl.Object.Text
                  Case "ComboBox3"
                       cbval(2) = Ctrl.Object.Text
                  Case "ComboBox4"
                       cbval(3) = Ctrl.Object.Text
          End Select
        End If
    Next Ctrl
    Feuil2.Range("M" & lgn) = Join(cbval, ",")
    Unload Me

et pour relire

Code:
Private Sub UserForm_Initialize()

'-----------No Reset
CheckBoxReset1.Caption = False
CheckBoxReset2.Caption = False
' restitution pour CheckBox
    Dim Com, i%, y%, Ctrl As Control, cbval
    lgn = ActiveCell.Row
    Com = Split(", " & Feuil2.Range("B" & lgn), ", ")
    For i = 1 To UBound(Com)
        For Each Ctrl In Me.Controls
            If TypeOf Ctrl Is MSForms.CheckBox Then
                If Ctrl.Caption = Com(i) Then
                    Ctrl.Value = True: Exit For
                End If
            End If
        Next Ctrl
    Next i
    '--------------'restitution pour ComboBox

    lgn = ActiveCell.Row
    cbval = Split(Feuil2.Range("M" & lgn), ",")
    ComboBox1.Value = cbval(0)
    ComboBox2.Value = cbval(1)
    ComboBox3.Value = cbval(2)
    ComboBox4.Value = cbval(3)

End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…