XL 2016 conditionner l'écriture d'un Label par un choix dans une ComboBox

marg55

XLDnaute Nouveau
Bonjour,

J'essaie de faire lire à un Private Sub qui doit se déclencher après validation d'un bouton ce qu'aurait remplit l'utilisateur dans une ComboBox que j'aurais créé dans la phase d'initialisation ( c'est à dire que mon interface est dynamique).

Le principe serait qu'après avoir lu la comboBox, mon programme pourrait remplir un Label de Sanction associer!
Comme il y a une liste de ligne a saisir en combo box, j'utilise une itération, j'ai également besoin d'aide sur la manière d'écrire cela... Je penses que ComboBoxi n'existe pas ^^'

Je vous joins mes tests, j'espère que vous pourrez m'aider,

En vous remerciant par avance,
Margot.
 

Pièces jointes

  • tests 2.4- appliquer sanction.xlsm
    37 KB · Affichages: 9

Lolote83

XLDnaute Barbatruc
Bonjour,
remplacer le code par celui-ci

la ligne qui posait problème est celle-ci
Select Case ComboBoxi

VB:
Private Sub BtValider_Click()
    MsgBox "OK"
    For i = 1 To DerniereLigne - 1
       Select Case Controls("ComboBox" & i + 1)
        Case "OK"
        Set Obj = Me.Controls.Add("forms.Label.1")        'Alors on met un nouveau Label (voir différence avec le premier If dans la Caption
            With Obj
            .BorderStyle = 1                                'le fait qu'il ait des bordures
            .Name = "Label" & i                          'On défini le nom de chaque Label, ici on appelera donc tout les Labels Label1, Label2...
            .Object.Caption = "CORRECT"                           'On demande ici à l'objet de ne rien mettre dans sa caption dans le cas présent, pour pouvoir, plus tard venir effectuer la sanction.
            .Left = 400                                 'la colonne ajouté lors de cette itération se déplace de 100 fois j sur la gauche
            .Top = 20 * i                                  'La ligne ajouté lors de cette itération se déplace de 20 fois i vers le bas.
            .Width = 100                                    'L'épaisseur de la case est de 100
            .Height = 20                                    'La hauteur de la case est de 20 (on remarque qu'on utilise les même hauteur qu'écart entre les lignes et les colonnes pour permettre la création d'un tableau
            .FontSize = 10                                  'taille de l'écriture
            .TextAlign = fmTextAlignCenter                  'centrage du texte
         End With
          End Select
    Next i
  ' ComboBox1.ForeColor = &HFF&
End Sub
En espérant avoir ciblé la demande
@+ Lolote83
 

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 183
dernier inscrit
karelhu35