Perte formules dans copie ligne avec macro

Bonjour le Forum,

J'ai un souci avec la macro ci dessous :

Sub recop()

'dernière ligne remplie en colonne E

ligneC = Columns(5).Find("*", , , , xlByColumns, xlPrevious).Row

'première ligne vide en colonne I

Dim Ligne As Long

Ligne = Columns(9).Find("*", , , , xlByColumns, xlPrevious).Row + 1

'copier-coller

Range("A" & ligneC & ":Z" & ligneC).Select

Selection.Copy

Range("A" & Ligne).Select

ActiveSheet.Paste

'Effacements

Range("F" & Ligne).Select

ActiveCell.FormulaR1C1 = ""

Range("P" & Ligne).Select

ActiveCell.FormulaR1C1 = ""

Range("U" & Ligne).Select

ActiveCell.FormulaR1C1 = ""

Range("C" & Ligne).Select

ActiveCell.FormulaR1C1 = ""

End Sub

Cette macro me sert à recopier la dernière ligne remplie en colonne E pour la mettre dans la première ligne vide en colonne I.

La copie se fait correctement, avec les effacements demandés, mais les formules disparaissent avec maintien seulement des valeurs qui n'ont aucun intérêt toutes seules.

Comment faire pour que les formules contenues dans les colonnes E, I, N, Q, R, S, T et V soient maintenues ?

Nota : Cette macro est dans un module de façon à pouvoir servir 2 feuilles, et elle est activée par Ctrl+w

Merci d'avance pour votre précieuse collaboration

Cordialement

Fat

Bonjour,

Premièrement il faut occulter les SELECT ! Bohhhhbooohboooh (y'a 2 mois je faisait pareil )

Au lieu de :

Range("F" & Ligne).Select
ActiveCell.FormulaR1C1 = ""

On met :

Range("F" & Ligne).FormulaR1C1 = ""

Ensuite, je t'invite à utiliser l'enregistreur de macro qui répondra à ta question. Difficile à la simple vu de ta macro.

Cdlt,

bonjour,

bien que je n'aie pas de problème avec ton code, je te propose cette simplification

Sub recop()
'dernière ligne remplie en colonne E
    ligneC = Columns(5).Find("*", , , , xlByColumns, xlPrevious).Row
    'première ligne vide en colonne I
    Dim Ligne As Long
    Ligne = Columns(9).Find("*", , , , xlByColumns, xlPrevious).Row + 1
    'copier-coller
    Range("A" & Ligne & ":Z" & Ligne).Formula = Range("A" & ligneC & ":Z" & ligneC).Formula
    'Effacements
    Range("F" & Ligne) = ""
    Range("P" & Ligne) = ""
    Range("U" & Ligne) = ""
    Range("C" & Ligne) = ""
End Sub
Rechercher des sujets similaires à "perte formules copie ligne macro"