Mister Binaire
XLDnaute Occasionnel
Bonsoir le Forum,
J'ai une première macro qui me permet de faire du nettoyage dans une zone spécifique de chaque onglet.
Le problème c'est que j'ai ma seconde macro sur chaque feuille qui me demande de rentrer des valeurs clés dans la zone qui va être nettoyée.
Lors du lancement du RAZ le MsgBox "Attention, vous n'avez pas rentré de Spécifications" apparaît autant de fois qu'il y a d'onglet à nettoyer.
Merci de m'aider pour essayer d'éviter ce conflit.. (Macro ci-dessous)
PREMIÈRE MACRO :
Sub RAZ()
Dim O As Object 'déclare la variable O (Onglets)
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
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
J'ai une première macro qui me permet de faire du nettoyage dans une zone spécifique de chaque onglet.
Le problème c'est que j'ai ma seconde macro sur chaque feuille qui me demande de rentrer des valeurs clés dans la zone qui va être nettoyée.
Lors du lancement du RAZ le MsgBox "Attention, vous n'avez pas rentré de Spécifications" apparaît autant de fois qu'il y a d'onglet à nettoyer.
Merci de m'aider pour essayer d'éviter ce conflit.. (Macro ci-dessous)
PREMIÈRE MACRO :
Sub RAZ()
Dim O As Object 'déclare la variable O (Onglets)
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
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