Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans l'onglet
Dim o As Object 'déclare la variable o (Onglet)
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CEllule)
Dim list As String 'déclare la variable list (LISTe)
If Not Application.Intersect(Target, Range("B4")) Is Nothing Then
'La cellule B4 est ou fait partie des cellules modifiées
'Test de la valeur de la cellule B4,
'ne pas utiliser l'objet Target, un message d'erreur est retourné si Target représente une plage de cellules
If Range("B4") = "Adrien" Then
MsgBox "Oui" 'MacroVisibleOui
Else
MsgBox "Non" 'MacroVisibleNon
End If
End If
If Target.Column <> 7 Or Target.Row = 1 Then Exit Sub 'si la cellule active n'est pas dans la colonne 7 (=G) ou se trouve sur la ligne 1, sort de la procédure
Set o = Sheets("Feuil1") 'définit l'onglet o
dl = Cells(Application.Rows.Count, 7).End(xlUp).Row 'définit la dernière ligne édité dl de la colonne 7 (=G)
Set pl = Range("G2:G" & dl) 'définit la plage pl
For Each cel In pl 'boucle sur toutes les cellules cel de la plage pl
'si la valeur de la cellule est "X", définit la liste list
If UCase(cel.Value) = "X" Then list = IIf(list = "", cel.Offset(0, -6).Value & ",", list & cel.Offset(0, -6).Value & ",")
Next cel 'prochaine cellule de la boucle
With o.Range("D2") 'prend en comptela cellule D2 de l'onglet o
.Value = "" 'efface la cellule
With .Validation 'prend en compte la validation de données
.Delete 'efface une éventuelle validation de données existante
If list <> "" Then 'condition : si list n'est pas vide
'ajoute list comme liste de validation de données a la cellule
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=list
End If 'fin de la condition
End With 'fin de la prise en comte de la validation de données
End With 'fin de la prise en compte de la cellule D2 de l'onglet o
'Code exécuter lors d'un changement dans la valeur d'une cellule quelconque de la feuille
'La cellule H6 fait-elle partie de la ou des cellules modifiées
End Sub