Actualisation des mises en forme conditionnelle
Roms
-
Gyrus Messages postés 3360 Statut Membre -
Gyrus Messages postés 3360 Statut Membre -
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 !
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
-
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)
-
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+