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

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
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…