Macro VBA : copier mais coller valeur et non formule

Bonjour à tous,

je viens ici car j'ai un soucis avec mes macros depuis que j'ai changé un petit élément.

cette ligne fonctionnait nickel tant que je copiais collait des cellules sans formules.

Range("E" & i & ":Q" & i).Copy Sheets(nom).Range("D" & Sheets(nom).Range("D65536").End(xlUp).Row + 1)

seulement voila dans mon fichier d'ou je copie les lignes j'ai fais quelques ajustements afin que la récupération d'autres onglets puissent se faire automatiquement.

exemple: =

 INDIRECT("'"&TEXTE(30*(MOIS(AUJOURDHUI())-1);"mmmm")&" CVP"&"'!P7")*-1

seulement voila, si je lance ma macro cela va me copier la ligne et la coller avec formule.

mais cela fausse les résultats car j'ai des onglets pour chaque mois de l'année et si la formule s'applique alors le aujourd'hui fausse le tout.. j'ai besoin de la valeur en coller ...

quelqu'un pourrait m'aider ??

merci par avance

Bonjour

A tester

Range("E" & i & ":Q" & i).Copy
Sheets(nom).Range("D" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues

euh merci mais comment intégrer cela dans ma ligne:

Range("E" & i & ":Q" & i).Copy Sheets(nom).Range("D" & Sheets(nom).Range("D65536").End(xlUp).Row + 1)

Bonjour

Tu n'intègres pas mais tu remplaces ta ligne par ces 2 nouvelles lignes

merci mais cela ne fonctionne pas tout à fait comme escompter.

j'aurais du etre plus précis.

sans formule mais avec mise en forme.

C'est possible?.

Bonjour

Pas facile sans pouvoir tester

Essayes

Dim Ligne As Long

Range("E" & i & ":Q" & i).Copy
Ligne = Sheets(nom).Range("D" & Rows.Count).End(xlUp).Row + 1
Sheets(nom).Range("D" & Ligne).PasteSpecial Paste:=xlPasteValues
Sheets(nom).Range("D" & Ligne).PasteSpecial Paste:=xlPasteFormats

ca fonctionne correctement.

neanmoins j'ai un autre soucis.

depuis que j'ai remplacé par vos lignes ma condition ne fonctionne plus...

ElseIf Range("R" & i).Value = "Mensuelle" Then

If (Range("C" & i).Value <= Jour And Jour < Range("C" & i).Value + 9 And Range("D" & i).Value = "N") Then
    Range("D" & i) = "O"
    Range("E" & i) = Moi & "/" & Cells(i, 3).Value & "/" & Annee

Range("E" & i & ":Q" & i).Copy
Ligne = Sheets(nom).Range("D" & Rows.Count).End(xlUp).Row + 1
Sheets(nom).Range("D" & Ligne).PasteSpecial Paste:=xlPasteValues
Sheets(nom).Range("D" & Ligne).PasteSpecial Paste:=xlPasteFormats

End If

End If

Bonjour

Je ne vois pas le rapport

Joins ton fichier dans lequel tu indiques ce que tu as et ce que tu veux obtenir

Rechercher des sujets similaires à "macro vba copier coller valeur formule"