Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Supprimer la dernière règle des formats conditionnels

5 réponses
Avatar
rmill...
Bonjour,

J'ai cru bin de cr=C3=A9er une nouvelle conversation.

Dans un range il y a plusieurs r=C3=A8gles pour les formats conditionnels. =
Je cherche comment supprimer la toute derni=C3=A8re r=C3=A8gle.

Sauriez-vous comment faire?

Merci =C3=A0 l'avance.

5 réponses

Avatar
MichD
Le 16/10/20 à 10:45, a écrit :
Bonjour,
J'ai cru bin de créer une nouvelle conversation.
Dans un range il y a plusieurs règles pour les formats conditionnels. Je cherche comment supprimer la toute dernière règle.
Sauriez-vous comment faire?
Merci à l'avance.

Bonjour,
Essaie comme ceci, en adaptant le nom de l'onglet de la feuille et la
plage de cellules.
'-------------------------------
Sub test()
With Worksheets("Feuil1")
With .Range("A1:A10")
If .FormatConditions.Count > 0 Then
.FormatConditions(.FormatConditions.Count).Delete
End If
End With
End With
End Sub
'-------------------------------
MichD
Avatar
rmill...
Bonjour à nouveau.
Oui ... un grand merci â fonctionne.
Avatar
rmill...
Bonjour,
Mais j'aurais un petit souci. Par exemple ... par erreur ... dans toute la plage ... je me retrouve avec le format conditionnel Formula1:="=CN_Im pressionImagYesNoColor=1" ... à plusieurs reprises dans les mêm es cellules. Par exemple dans A1 j'aurais 5 fois ce format conditionnel.
Y aurait-il un moyen de pouvoir supprimer partout dans la plage tous les fo rmats conditionnels Formula1:="=CN_ImpressionImagYesNoColor=1"?
C'est que si pour une raison quelconque l'usager aurait eu une erreur et qu 'il a essayé à plusieurs reprises. il aurait cette situation. Je devrai alors avoir une solution.
Merci à l'avance.
Avatar
MichD
Le 18/10/20 à 21:27, a écrit :
Bonjour,
Mais j'aurais un petit souci. Par exemple ... par erreur ... dans toute la plage ... je me retrouve avec le format conditionnel Formula1:="=CN_ImpressionImagYesNoColor=1" ... à plusieurs reprises dans les mêmes cellules. Par exemple dans A1 j'aurais 5 fois ce format conditionnel.
Y aurait-il un moyen de pouvoir supprimer partout dans la plage tous les formats conditionnels Formula1:="=CN_ImpressionImagYesNoColor=1"?
C'est que si pour une raison quelconque l'usager aurait eu une erreur et qu'il a essayé à plusieurs reprises. il aurait cette situation. Je devrai alors avoir une solution.
Merci à l'avance.

Bonjour,
Une solution, seulement si tu as x fois la même mise en forme
conditionnelle pour les cellules testées. Si les cellules ont plus
qu'une mise en forme avec des formules ou conditions différentes, il
faudra adapter la procédure.
Nom de l'onglet de la feuille et de la plage de cellules à adapter!
'-------------------------------------
Sub test()
Dim C As Range, A As Long
With Worksheets("Feuil1")
For Each C In .Range("A1:A10")
With C
For A = 1 To .FormatConditions.Count - 1
If .FormatConditions(A).Formula1 = _
"=CN_ImpressionImagYesNoColor=1" Then
.FormatConditions(A).Delete
End If
Next
End With
Next
End With
End Sub
'-------------------------------------
MichD
Avatar
MichD
Le 19/10/20 à 10:10, a écrit :
Bonjour,
Merci. Il est certain que ce code fonctionne. Mais dans une de mes feuilles il y a plus de 4000 lignes et une vingtaine de colonnes. Dans cette feuille ça pose problème. J'ai essayé le code ci-dessous. Et ça fonctionne ... mais ...
Pour faire le test j'ai fais en sorte que la condition ait été ajoutée 5 fois. Donc dans toutes les cellules il y a 5 fois cette condition et dans certaines autres cellules il y a d'autres conditions.
Il faut que j'exécute 3 fois le code pour totalement les éliminer. ??? Et ... pour la ligne ... For A = 1 To Feuil12.Range("CN_NotesInRange").FormatConditions.Count ... si je laisse le - 1 après le .Count ... donc ... Feuil12.Range("CN_NotesInRange").FormatConditions.Count - 1 ... ça n'en vient jamais à bout. Il reste toujours 1 ou 2 fois la condition.
Si le problème se produisait ... au moins ... j'aurais une solution. Mais croyez-vous qu'il pourrait exister une façon de totalement les éliminer d'une seule opération? Peut-être me manque t'il un petit élément? Merci à l'avance.
Application.EnableEvents = False
Dim C As Range, A As Long
Feuil12.Unprotect Feuil7.Range("CN_ValidShPwd").Value
Feuil12.AutoFilterMode = False
On Error Resume Next
For A = 1 To Feuil12.Range("CN_NotesInRange").FormatConditions.Count
If Feuil12.Range("CN_NotesInRange").FormatConditions(A).Formula1 = "=CN_ImpressionImagYesNoColor=1" Then
Feuil12.Range("CN_NotesInRange").FormatConditions(A).Delete
End If
Next

A ) si tu travailles sur une grande plage de cellules,
- Identifie les cellules ayant exactement la même mise en forme
conditionnelle, tu supprimes les mises en forme conditionnelle
et tu la recrées sur l'ensemble de la même plage, c'est la méthode la
plus rapide.
Même mise en forme conditionnelle : =même nombre de conditions + mêmes
formule
Tu obtiendras un certain nombre de plages de cellules, et sur chacune
des plages, tu appliques une fois la procédure.
Un exemple de code pour une plage de cellules. Évidemment, le formatage
est le résultat de ton choix!
'---------------------------------------
Sub test()
With Feuil1
With .Range("A1:A10").FormatConditions
.Delete
With .Add(Type:=xlExpression, Formula1:="=$E$1=1")
.Interior.Color = vbRed
With .Font
.Bold = True
.Color = vbWhite
End With
With .Borders
.LineStyle = xlContinuous
.Weight = xlThin
.Color = vblue
End With
End With
End With
End With
End Sub
'---------------------------------------
MichD