Afficher un msgBox lors de selection d'un choix de listbox
bonjour FORUM
bonjouur a tous ,
SVP j'ai besoin d'aide , j'ai un travail à rajouter et j'arrive pas comment commencer !
en fait j'ai une listbox "Lbx_program" dans UserFormTrans qui est chargée par des elements et je veux conditionner quelques elements (qui sont en jaune "feuil6" )
ma demande est : si on choisi un element parmi cette liste jaune un msgBox s'affiche ("ce choix est nesessite un accord ") .
merci d'avance
Bonjour Nada, bonjour le forum,
je n'ai vu aucun élément en jaune dans l'onglet Feuil6 ?!... Quand je lance l'Userform via VBE, j'ai ce message : Login non tracé ?!...
Peut-être avec ces deux lignes à rajouter dans ton code :
Set R = Worksheets("Feuil6").Columns(1).Find(Lbx_program.Value, , xlValues, xlWhole)
If R.Interior.ColorIndex <> xlNone Then MsgBox "Ce choix nécessite un accord !"
Bonjour Nada, bonjour le forum,
je n'ai vu aucun élément en jaune dans l'onglet Feuil6 ?!... Quand je lance l'Userform via VBE, j'ai ce message : Login non tracé ?!...
Peut-être avec ces deux lignes à rajouter dans ton code :
Set R = Worksheets("Feuil6").Columns(1).Find(Lbx_program.Value, , xlValues, xlWhole) If R.Interior.ColorIndex <> xlNone Then MsgBox "Ce choix nécessite un accord !"
ah oui t'as raison ! j'ai mis le ficher sans enregistrement !
voici la nouvelle version
Re,
Pourquoi le choix AAS300 est-il parfois coloré de jaune et d'autres fois sans couleur ?!... Ton code plante systématiquement sur la ligne :
For k = 0 To UBound(rôles_login)
Essaie comme ça :
Private Sub Lbx_program_Change()
Dim I As Integer, J As Integer, k As Integer
Dim programme As String, rôle As String, rôles()
Dim O As Worksheet
Dim R As Range
Dim PA As String
Dim M As Long
Dim MSG As String
Set O = Worksheets("Feuil6")
For M = 0 To Me.Lbx_program.ListCount - 1
If Me.Lbx_program.Selected(M) = True Then
Set R = O.Columns(1).Find(Me.Lbx_program.List(M), , xlValues, xlWhole)
PA = R.Address
Do
Debug.Print R.Address, R.Interior.ColorIndex
If R.Interior.ColorIndex = 6 Then MSG = IIf(MSG = "", "Le choix " & Me.Lbx_program.List(M) & " nécessite un accord !", MSG _
& vbCrLf & "Le choix " & Me.Lbx_program.List(M) & " nécessite un accord !")
Set R = O.Columns(1).FindNext(R)
Loop While Not R Is Nothing And R.Address <> PA
End If
Next M
If MSG <> "" Then MsgBox MSG
'// création dictionnaires de la liste des rôles pour les programmes sélectionnés
'suite de ton code...
Re,
Pourquoi le choix AAS300 est-il parfois coloré de jaune et d'autres fois sans couleur ?!... Ton code plante systématiquement sur la ligne :
For k = 0 To UBound(rôles_login)
Essaie comme ça :
Private Sub Lbx_program_Change() Dim I As Integer, J As Integer, k As Integer Dim programme As String, rôle As String, rôles() Dim O As Worksheet Dim R As Range Dim PA As String Dim M As Long Dim MSG As String Set O = Worksheets("Feuil6") For M = 0 To Me.Lbx_program.ListCount - 1 If Me.Lbx_program.Selected(M) = True Then Set R = O.Columns(1).Find(Me.Lbx_program.List(M), , xlValues, xlWhole) PA = R.Address Do Debug.Print R.Address, R.Interior.ColorIndex If R.Interior.ColorIndex = 6 Then MSG = IIf(MSG = "", "Le choix " & Me.Lbx_program.List(M) & " nécessite un accord !", MSG _ & vbCrLf & "Le choix " & Me.Lbx_program.List(M) & " nécessite un accord !") Set R = O.Columns(1).FindNext(R) Loop While Not R Is Nothing And R.Address <> PA End If Next M If MSG <> "" Then MsgBox MSG '// création dictionnaires de la liste des rôles pour les programmes sélectionnés 'suite de ton code...
merci beaucoup