Bonjour tout le monde, je mets en place une macro qui doit effacer le contenu d'une plage de cellules d'après le contenu d'une autre cellule mais cela ne fonctionne pas, besoin d'aide merci !
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A9").Value = "à l'arrêt" Then
Range("B8,B10,B11,B12,B13,B14,B15").Select
Selection.ClearContents
End If
End Sub
Bonjour tout le monde, je mets en place une macro qui doit effacer le contenu d'une plage de cellules d'après le contenu d'une autre cellule mais cela ne fonctionne pas, besoin d'aide merci !
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A9").Value = "à l'arrêt" Then
Range("B8,B10,B11,B12,B13,B14,B15").Select
Selection.ClearContents
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A9")) Is Nothing Then
If Target.Value = "à l'arrêt" Then
Range("B8,B10:B15").ClearContents
End If
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Range("A9") = "à l'arrêt" Then Range("B8,B10:B15") = ""
Application.EnableEvents = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A9")) Is Nothing Then
If Target.Value = "à l'arrêt" Then
Range("B8,B10:B15").ClearContents
End If
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Range("A9") = "à l'arrêt" Then Range("B8,B10:B15") = ""
Application.EnableEvents = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [B:B,G:G]) Is Nothing Then Exit Sub
Application.EnableEvents = False 'désactive les évènements
If Target.Count > 1 Then Application.Undo: GoTo 1 'annule les entrées ou effacements multiples
If Target = "" Or (Application.CountIf([B:B], Target) + Application.CountIf([G:G], Target)) = 1 Then GoTo 1
Target.Select
MsgBox "Cette personne est déjà dans le planning !", 48, "Doublon"
Target = ""
1 Application.EnableEvents = True 'réactive les évènements
Application.EnableEvents = False
If Range("A9") = "à l'arrêt" Then Range("B8,B10:B15") = ""
Application.EnableEvents = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [B:B,G:G]) Is Nothing Then Exit Sub
Application.EnableEvents = False 'désactive les évènements
If Target.Count > 1 Then Application.Undo: GoTo 1 'annule les entrées ou effacements multiples
If Target = "" Or (Application.CountIf([B:B], Target) + Application.CountIf([G:G], Target)) = 1 Then GoTo 1
Target.Select
MsgBox "Cette personne est déjà dans le planning !", 48, "Doublon"
Target = ""
1 Application.EnableEvents = True 'réactive les évènements
Application.EnableEvents = False
If Range("A9") = "à l'arrêt" Then Range("B8,B10:B15") = ""
Application.EnableEvents = True
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A9,B:B,G:G]) Is Nothing Then Exit Sub
Application.EnableEvents = False 'désactive les évènements
If Range("A9") = "à l'arrêt" Then Range("B8,B10:B15") = "": GoTo 1
If Target.Count > 1 Then Application.Undo: GoTo 1 'annule les entrées ou effacements multiples
If Target = "" Or (Application.CountIf([B:B], Target) + Application.CountIf([G:G], Target)) = 1 Then GoTo 1
Target.Select
MsgBox "Cette personne est déjà dans le planning !", 48, "Doublon"
Target = ""
1 Application.EnableEvents = True 'réactive les évènements
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A9,B:B,G:G]) Is Nothing Then Exit Sub
Application.EnableEvents = False 'désactive les évènements
If Range("A9") = "à l'arrêt" Then Range("B8,B10:B15") = "": GoTo 1
If Target.Count > 1 Then Application.Undo: GoTo 1 'annule les entrées ou effacements multiples
If Target = "" Or (Application.CountIf([B:B], Target) + Application.CountIf([G:G], Target)) = 1 Then GoTo 1
Target.Select
MsgBox "Cette personne est déjà dans le planning !", 48, "Doublon"
Target = ""
1 Application.EnableEvents = True 'réactive les évènements
End Sub
Merci pour votre aide maintenant, il me reste encore à faire pour les autres groupes de travail
Donc si je comprends bien, pour les autres groupes de travail, je dois mettre:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A9,B:B,G:G]) Is Nothing Then Exit Sub
Application.EnableEvents = False 'désactive les évènements
If Range("A9") = "à l'arrêt" Then Range("B8,B10:B15") = "": GoTo 1
if Range("A18")="à l'arrêt" Then Range("B17,B19:B22") = "": GoTo 1
If Target.Count > 1 Then Application.Undo: GoTo 1 'annule les entrées ou effacements multiples
If Target = "" Or (Application.CountIf([B:B], Target) + Application.CountIf([G:G], Target)) = 1 Then GoTo 1
Target.Select
MsgBox "Cette personne est déjà dans le planning !", 48, "Doublon"
Target = ""
1 Application.EnableEvents = True 'réactive les évènements
End Sub