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
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