XL 2019 macro conditon

chinel

XLDnaute Impliqué
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
 

chinel

XLDnaute Impliqué
Il faut compléter :
VB:
If Intersect(Target, [A9,A18,B:B,G:G]) Is Nothing Then Exit Sub
j'ai modifié mais sans résultats


Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A9,A18,F9,F18]) 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,B9:B22") = "": goto1
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
 

chinel

XLDnaute Impliqué
Ce que vous avez fait ou voulez faire, y compris cette histoire de "à l'arrêt", ne tient pas la route.

Repartez à zéro depuis le fichier donné sur l'autre fil.
je suis presque au bout de mon projet donc je ne laisse pas tombé car je suis persuadé qu'on peut améliorer mon fichier.

Le but est pourtant simple:
1. un planning qui enregistre les données dans une colonnne M (à la suite de l'autre)
2. un planning qui enregistre en même temps dans la feuille (Personnel)
3. quand on met "à l'arrêt" le GAP se vide (GAP ensemble de machines)

Pour moi c'est assez complexe mais pour les experts du forum, je pense que c'est assez simple
 

job75

XLDnaute Barbatruc
Je vous ai déjà dit que la colonne M doit être remplie manuellement avec les noms de tous les ouvriers.

Les codes donnés sur l'autre fil font ce que vous avez demandé.

Si vous voulez effacer en bloc les données des colonnes B C G H utilisez cette macro :
VB:
Sub Effacer()
Application.EnableEvents = False 'désactive les évènements
Sheets("Planning").[B4:B5,B8:C8,B10:C15,G8:H8,G10:H15,B17:C17,B19:C22,G17:H17,G19:H23,B25:C29] = ""
Application.EnableEvents = True 'réactive les évènements
End Sub
 

Discussions similaires

Réponses
26
Affichages
1 K

Statistiques des forums

Discussions
312 215
Messages
2 086 326
Membres
103 180
dernier inscrit
Vcr