Bonjour à tous,

J’ai un projet informatique à réaliser pour mon stage, je dois créer une application pour suivre des rendez-vous. Je vous mets des captures d’écrans de mon fichier d’exemple :
Nom : RendezVous 1.1.jpg
Affichages : 220
Taille : 16,6 Ko Nom : RendezVous 2.1.jpg
Affichages : 174
Taille : 17,0 Ko Nom : FeuilCom 1.1.jpg
Affichages : 210
Taille : 25,7 Ko

Comme vous pouvez le voir, j’ai créé une zone de liste sur ma colonne B de ma feuille FeuilCom car je voulais avoir la possibilité de sélectionner plusieurs choix. Pour qu’elle fonctionne j’ai utilisé ces deux codes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Option Explicit
 
Dim i2 As Long
Dim sTemp2 As String
Dim a2
Dim bTest2 As Boolean
Dim vrech2 As Range
 
 
Private Sub ListBoxCom_Change()
 
Dim FeuilCom As Worksheet
 
If bTest2 Then
Exit Sub
End If
 
    sTemp2 = ""
 
 
' Si l'item est coché nous viendront l'afficher dans la cellule
    For i2 = 0 To Me.ListBoxCom.ListCount - 1
        If Me.ListBoxCom.Selected(i2) Then
            sTemp2 = sTemp2 & Me.ListBoxCom.List(i2) & " - "
       End If
    Next
 
    ActiveCell = sTemp2
 
End Sub
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 
'Liste déroulante à choix multiples dans la colonnes des moyens de commercialisation
 
    If ActiveCell.Column = 2 Then
 
'Propriétés de la liste déroulante
    With Me.ListBoxCom
        .MultiSelect = fmMultiSelectMulti
        .ListStyle = fmListStyleOption
        .Height = 100
        .Width = 170
        .Top = ActiveCell.Top
        .Left = ActiveCell.Offset(0, 1).Left
        .Visible = True
    End With
 
'Où sont les options à placer dans la liste
    Me.ListBoxCom.List = Worksheets("FeuilCom").Range("A1:E5").Value
 
 
'Les options doivent restées cochées dans la liste
    a2 = VBA.Split(ActiveCell, " - ")
    If UBound(a2) >= 0 Then
        For i2 = 0 To Me.ListBoxCom.ListCount - 1
            If Not IsError(Application.Match(Me.ListBoxCom.List(i2), a2, 0)) Then
                bTest2 = True
                Me.ListBoxCom.Selected(i2) = True
                bTest2 = False
            End If
 
        Next
    End If
 
'Si nous ne sommes pas placés dans la colonne 2 la ListBox n'est pas visible
    Else
     Me.ListBoxCom.Visible = False
    End If
 
End Sub
Mon souci est que je voudrais pouvoir afficher des alertes dans la colonne D en fonction des items sélectionnés dans ma liste. Mes alertes se trouvent sur ma feuille FeuilCom.

J’ai essayé de faire des formules avec des SI et des RECHERCHEV imbriqués mais je n’arrive pas à les faire fonctionner quand je sélectionne plus d’un item car je pense qu’il y aurait trop de combinaisons possibles. Alors je me suis résolue à essayer avec VBA mais je ne maîtrise pas trop le codage.

J’ai essayé deux techniques différentes :
- Avec un Set vrech et la seconde ligne que je place dans mon If après ma ligne "sTemp2 = sTemp2 & Me.ListBoxCom.List(i2) & " - "" du code Private Sub ListBoxCom_Change()
Mais ça ne fonctionne pas.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Set vrech2 = Sheets("FeuilCom").Columns("A:a").Find(Me.ListBoxCom.Value, LookIn:=xlValues)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Cells(4, 2).Value = vrech2.Offset(0, 1).Value
- ou alors de cette manière que je place au même endroit que la technique précédente
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Cells(4, 2).Value = Application.WorksheetFunction.VLookup(Range("Me.ListBoxCom.Selected(i2)").Value, FeuilCom.Range("A2:E6"), 2, False)
Mais ma ligne est surlignée est <La méthode ‘Range’ de l’objet ‘Worksheet’ a échoué>

Je dois surement avoir un souci de syntaxe ou alors je place pas mon code au bon endroit ou carrément ma méthode n'est pas bonne mais est-ce que quelqu’un peut m’aider à comprendre comment je pourrai parvenir à mon résultat, s’il vous plait ?

N’hésitez pas à me dire si mes explications ne sont pas assez claires ou si vous souhaitez que je vous partage mon fichier exemple.

Merci d’avance et bonne journée