Actualisation des mises en forme conditionnelle

Fermé
Roms - Modifié par Roms le 6/10/2016 à 16:36
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 - 6 oct. 2016 à 17:24
Bonjour à tous,

J'ai un tableau dans lequel, il y a des mises en forme conditionnelle.
J'ai crée une macro qui me permet de créer une nouvelle ligne par ajout à la fin. Cette macro copie la forme d'une ligne pour l'appliquer à la ligne nouvellement créée, les mises en forme sont donc appliquées à la nouvelle ligne.

Mon problème est que cela me crée une nouvelle mise en forme conditionnelle.
Exemple :
Mon tableau fait 100 lignes. Avec une mise en forme définit sur les colonnes A à D.
Si j'ajoute 1 ligne. J'aurais une mise en forme sur A0:D100 et une deuxième sur A101:D101
Si j'ajoute une 2ème ligne. J'aurais 3 mises en forme, A0:D100, A101:D101, A102:D102... etc.

Y'a t'il une solution (même VBA) pour mettre à jour la mise en forme conditionnelle ?


Pour info, mes lignes de VBA pour la mise en forme. A1:AO1 contient ma mise en forme de base (niveau VBA = débutant) :
Range("A1:AO1").Select
Selection.Copy
Range("A" & Rows.Count).End(xlUp).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False


Merci d'avance pour vos réponses !


2 réponses

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
6 oct. 2016 à 16:49
bonjour,

pour ajouter une ligne après la ligne 100 (ou ailleurs), essaies comme ceci :
Sub xxx()
Dim r As Range

    Set r = Rows(100)
    r.Copy
    r.Insert Shift:=xlDown
    r.ClearContents
    Application.CutCopyMode = False

End Sub

Méthode manuelle identique :
- Sélectionner la ligne au dessus de la ligne à insérer
- copier / insérer les cellules copiées
- effacer le contenu de la seconde ligne.

Ça ne multiplie pas les MFC (grâce au insert)
0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
6 oct. 2016 à 17:24
Bonjour,

Avec la macro, tu peux redéfinir la plage d'applicabilité de la MFC puis redéfinir la MFC sur cette plage.
Ainsi, tu gardes une seule MFC.
Seule la plage d'applicabilité est modifiée.

A+
0