Macro efface contenu cellule en fonction mise en forme conditionnelle

  • Initiateur de la discussion Initiateur de la discussion maju
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

maju

Guest
Bonjour

Je souhaite pouvoir effacer le contenu des cellules dont la couleur est rouge dans un feuillet excel. Jusqu'ici rien de compliqué.

Mais cette couleur est heritée d'une mise en forme conditionnelle, donc ma requête ne reconnait pas la color.Font puisque qu'il s'agit d'une mise en forme conditionnelle.

Voici ce que j'avais pensé mais ça ne fonctionne pas, je dois avoir une erreur quelquepart.

Sub Effacer()

If MsgBox("Etes-vous sûr de vouloir effacer toutes les données saisies ?", vbYesNo) = vbYes Then
For Each feuille In Worksheets
On Error Resume Next
For Each cell In feuille.Cells.SpecialCells(xlCellTypeConstants)
If Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=NB.SI(D1;D2)>0"
Then cell.ClearContents
Next cell

For Each cell In feuille.Cells.SpecialCells(xlCellTypeFormulas)
If Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=NB.SI(D1;D2)>0" Then cell.ClearContents
Next cell
Next feuille
End If

End Sub

Merci de votre aide
 
Re : Macro efface contenu cellule en fonction mise en forme conditionnelle

Bonsoir maju et Bienvenue sur le forum, re à tous,

Sauf à dire une bétise (une de plus diront certains), la MFC n'est qu'une apparence et même VBA ne peut la détecter...

Pour le reste, je n'ai pas regardé ton code....

Peut-être revoir ton appli.pour passer outre ces MFC....

Bonne soirée et week-end annoncé.

Jean-Pierre
 
Re : Macro efface contenu cellule en fonction mise en forme conditionnelle

Re et salut CC,

Merci de ton appréciation, mais tu proposes quoi, à part de te faire les dents sur le premier venu.... hein... dis nous....
(ce que que j'aime dans les amis, les voisins, c'est qu'ils t'adorent.... CC... arrêtes de me pousser la tête sous l'eau, ça me fait mal et je ne peux plus respirer....)

Bon, maintenant, sérieusement, on t'attend avec une bonne réponse, sinon t'as un blame ou un gage... Tu choisis..

Ce que j'aime avec les requins, c'est que chez-moi y'en a pas....

Saluteaussi....
 
Re : Macro efface contenu cellule en fonction mise en forme conditionnelle

Bonsoir

Après quelques essais
Il faut que ta MFC fasse référence à des positions absolues ( les adresses avec $)

ensuite fais un test

Code:
Option Explicit

Sub Effacer()
Dim Cell As Range
Dim Feuille As Worksheet

  If MsgBox("Etes-vous sûr de vouloir effacer toutes les données saisies ?", vbYesNo) = vbYes Then
   For Each Feuille In Worksheets
   
      On Error Resume Next
      For Each Cell In Feuille.Cells.SpecialCells(xlCellTypeAllFormatConditions)
        With Cell.FormatConditions(1)
          If .Type = xlExpression And .Formula1 = "=NB.SI($D$1;$D$2)>0" Then Cell.ClearContents
        End With
      Next Cell
    Next Feuille
  End If

End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
728
Retour