VBA : Insérer une ligne en conservant mises en formes conditionnelles et formules

ValerieH34

XLDnaute Nouveau
Bonsoir à tous,
Je suis novice et je parviens à me débrouiller mais je bloque sur un point.
Je créé une macro pour insérer une ligne au début de mon tableau.
Cette ligne doit reprendre la mise en forme conditionnelle de la ligne du dessous mais également les formules.
Pour ça j'y arrive.
Seulement en faisant cette macro ça utilise la ligne du dessous que cela copie sur la ligne insérée et ça vide les cellules demandées.
Mais ça supprime les formules de la ligne du dessous vue que cela copie les valeurs mais pas les formules.
Donc comment faire pour que cela garde et les formules et les mises en formes conditionnelles.


Sub Nouveau()
'
' Nouveau Macro
'

Rows("4:4").Insert Shift:=xlDown
Rows("3:3").Copy
Rows("4:4").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Rows("4:4").PasteSpecial Paste:=xlPasteFormats
Range("a3:d3").ClearContents
Range("a3").Select

End Sub
Explication:
Je sélectionne ma ligne 3, j'insère une ligne
Je sélectionne la ligne 4, je copie les données puis je viens les copier en ligne 3
Je supprime certaines données lignes 4 et j'en garde d'autres en mémoire
Je viens ranger le curseur en a3 pour la prochaine saisie.

Merci d'avance pour vos éclaircissements

Valérie
 

Pièces jointes

  • Classeur1.xlsx
    15.1 KB · Affichages: 30
  • Classeur1.xlsx
    15.1 KB · Affichages: 33

Papou-net

XLDnaute Barbatruc
Re : VBA : Insérer une ligne en conservant mises en formes conditionnelles et formule

Bonsoir Valérie, et bienvenue sur XLD,

Essaie avec cette macro modifiée:

Code:
Sub Nouveau()
Rows("3:3").Copy
Rows("4:4").Insert Shift:=xlDown
Application.CutCopyMode = False
Range("a3:h3").SpecialCells(xlCellTypeConstants).ClearContents
Range("a3").Select
End Sub
A +

Cordialement.
 

Discussions similaires

Statistiques des forums

Discussions
312 087
Messages
2 085 198
Membres
102 815
dernier inscrit
Henridic