Absolument super, merci X Cellus, tu as répondu à mes attentes, je t'en remercie.
Voilà qui va me faciliter la vie !
Question subsidiaire : une fois la mise en forme conditionnelle effectuée, je m'aperçois que si je modifie une cellule, ça crée des anomalies. Comment copier/coller le résultat de la mise en forme sur une autre feuille, en supprimant la conditionnelle ?
Ou encore (trouvé sur le web) : https://fr.extendoffice.com/documents/excel/3686-excel-remove-conditional-formatting-but-keep-format...
(mais ne marche pas sur mon Excel 2003 xls)
Supprimer Le Formatage Conditionnel Mais Conserver Le Format Avec VBA
Dans Excel, il n'existe pas de méthode directe pour supprimer la mise en forme conditionnelle sauf VBA.
1. Activez la feuille dont vous souhaitez supprimer les règles de mise en forme conditionnelle tout en conservant le format et appuyez sur Alt + F11 clés pour ouvrir Microsoft Visual Basic pour applications fenêtre.
Cliquez 2 insérer > Moduleet collez ci-dessous VBA dans le script du module. Voir la capture d'écran:
VBA: supprimez les règles de mise en forme conditionnelle mais conservez le format.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | Sub Keep_Format()
'UpdatebyExtendoffice20181128
Dim xRg As Range
Dim xTxt As String
Dim xCell As Range
On Error Resume Next
If ActiveWindow.RangeSelection.Count > 1 Then
xTxt = ActiveWindow.RangeSelection.AddressLocal
Else
xTxt = ActiveSheet.UsedRange.AddressLocal
End If
Set xRg = Application.InputBox("Select range:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
For Each xCell In xRg
With xCell
.Font.FontStyle = .DisplayFormat.Font.FontStyle
.Font.Strikethrough = .DisplayFormat.Font.Strikethrough
.Interior.Pattern = .DisplayFormat.Interior.Pattern
If .Interior.Pattern <> xlNone Then
.Interior.PatternColorIndex = .DisplayFormat.Interior.PatternColorIndex
.Interior.Color = .DisplayFormat.Interior.Color
End If
.Interior.TintAndShade = .DisplayFormat.Interior.TintAndShade
.Interior.PatternTintAndShade = .DisplayFormat.Interior.PatternTintAndShade
End With
Next
xRg.FormatConditions.Delete
End Sub
|
3. presse F5 pour exécuter le code, et une boîte de dialogue apparaît pour sélectionner une plage pour supprimer la mise en forme conditionnelle. Voir la capture d'écran:
4. Cliquez OK, les règles de mise en forme conditionnelle ont été supprimées de la plage spécifiée mais conservent le format.