Private Sub Worksheet_Change(ByVal Target As Range) 'À chaque changement sur la feuille
'Cible (Target) = B1:B10
'If Not Application.Intersect(Target, [B1:B10]) Is Nothing Then 'Pour une plage de cellule
'Cible (Target) = B1
If Not Application.Intersect(Target, [B1]) Is Nothing Then
'Si B1 est différent de rien
If Target.Value <> "" Then
'Pour que tu comprennes (si tu ne comprends pas)
'Target.Offset(0,-1) = A1 <- 0 = ligne de le cible donc 1 et -1 veut dire la colonne d'avant celle de la cible
'Target.Offset(0,0) = B1 <- 0 = ligne de le cible donc 1 et 0 veut dire la colonne de la cible
'Target.Offset(0,1) = B1 <- 0 = ligne de le cible donc 1 et 1 veut dire la colonne d'après
'Target.Offset(0,2) = B1 <- 0 = ligne de le cible donc 1 et 2 veut dire la 2ème colonne d'après
'Target.Offset(0,3) = B1 <- 0 = ligne de le cible donc 1 et 3 veut dire la 3ème colonne d'après
'Etc...
'Rappel : Target.Offset(0, -1) = A1
'Donc si A1 = "O"
If Target.Offset(0, -1).Value = "O" Then
'Premier message
MsgBox "Attention contrôle !"
'Si A1 = "N"
ElseIf Target.Offset(0, -1).Value = "N" Then
'Deuxième message
MsgBox "Pas de contrôle"
'Fin du bloc If ElseIf
End If
'Autrement, si B1 = ""
Else
'Sort de la procédure sans rien faire
Exit Sub
'Fin du deuxième If
End If
'Fin du premier If
End If
End Sub