Bonjour à Tous,
Est-il possible d'attribuer une macro evenementielle à plusieurs cellules dispersées dans la feuille sur lesquelles j'ai défini un nom?
Je pose cette question car j'ai récupéré sur le forum la macro ci-dessous et mon problème est, si je selectionne d'autre cellules que celles désignées la macro se déclenche quand même.
Merci par avance.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Byte
If Target = "" Then Exit Sub
'si une cellule ci-dessous mentionnée est modifiée
If Target.Address = "$D$10" Or Target.Address = "$D$11" Or Target.Address = "$D$12" _
Or Target.Address = "$D$16" Or Target.Address = "$D$20" Or Target.Address = "$D$21" _
Then
'si une valeur est égale à la cellule de gauche
If Target = Target.Offset(0, -1) Then Exit Sub
Else: GoTo message 'alors message
End If
message:
r = MsgBox("Le précédent relevé indiquait " & Target.Offset(0, -1) & Chr(10) _
& " Confirmez-vous votre saisie?", vbQuestion + vbYesNo, "SAISIE de la VALEUR ...")
If r = 6 Then Exit Sub
If r = 7 Then Target.Offset(0, 0).Select
Target.ClearContents
End Sub
Est-il possible d'attribuer une macro evenementielle à plusieurs cellules dispersées dans la feuille sur lesquelles j'ai défini un nom?
Je pose cette question car j'ai récupéré sur le forum la macro ci-dessous et mon problème est, si je selectionne d'autre cellules que celles désignées la macro se déclenche quand même.
Merci par avance.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Byte
If Target = "" Then Exit Sub
'si une cellule ci-dessous mentionnée est modifiée
If Target.Address = "$D$10" Or Target.Address = "$D$11" Or Target.Address = "$D$12" _
Or Target.Address = "$D$16" Or Target.Address = "$D$20" Or Target.Address = "$D$21" _
Then
'si une valeur est égale à la cellule de gauche
If Target = Target.Offset(0, -1) Then Exit Sub
Else: GoTo message 'alors message
End If
message:
r = MsgBox("Le précédent relevé indiquait " & Target.Offset(0, -1) & Chr(10) _
& " Confirmez-vous votre saisie?", vbQuestion + vbYesNo, "SAISIE de la VALEUR ...")
If r = 6 Then Exit Sub
If r = 7 Then Target.Offset(0, 0).Select
Target.ClearContents
End Sub