PREMIÈRE MACRO :
Sub RAZ()
Dim O As Object 'déclare la variable O (Onglets)
Application.EnableEvents = False
Réponse = MsgBox("Cette Action effacera toutes les données de votre fichier (Data + Stats). Voulez vous continuer ?", vbYesNo)
If Réponse = vbNo Then
Exit Sub
Else
For Each O In Sheets 'boucle sur tous les onglets O du classeur
Select Case O.Name 'agit en fonction du nom de l'onglet O
'cas "Sommaire", "Formulaire Demande", "Formulaire Process" et "Master Data", rien ne se passe
Case "Sommaire", "Formulaire Demande", "Formulaire Process", "Master Data"
Case Else 'tous les autres cas
O.Range("A2170, E2:G2").ClearContents
End Select 'fin de la condition
Next O 'prochain onglet de la boucle
End If
Application.EnableEvents = True
End Sub
SECONDE MACRO :
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Columns(4), Target) Is Nothing Then
If Application.CountA(Range("F2:G2")) = 0 Then
On Error GoTo fin
Application.EnableEvents = False
Target.ClearContents
MsgBox "Attention, vous n'avez pas rentré de Spécifications"
End If
End If
fin:
Application.EnableEvents = True
End Sub