Je souhaite créer une macro pour copier une plage (C2: C22) contenant des formules et la coller dans la plage de colonnes (D2: D22) en tant que valeurs. Mon problème est que toutes les 6 cellules j'ai une formule et je ne veux pas que la macro l'écrase. J'ai essayé avec cette macro, mais elle ne copie pas les formules, seulement les valeurs et je dois coller sur les valeurs, pas sur les formules.Coller la valeur IF dans la cible
Merci!
Sub example()
Dim source As Range
Dim target As Range
Set source = ActiveSheet.Range("c2:c22")
Set target = ActiveSheet.Range("d2:d22")
copy_formulas source:=source, target:=target
End Sub
Public Sub copy_formulas(source As Range, target As Range)
'Assumes that all formulas start with '=' and all non formulas do not
Dim i As Long
Dim j As Long
Dim c As Range
For i = 1 To source.Rows.Count
For j = 1 To source.Columns.Count
Set c = source(RowIndex:=i, ColumnIndex:=j)
If Left(c.Formula, 1) <> "=" Then
target(RowIndex:=i, ColumnIndex:=j).Value = c.Value
End If
Next j
Next i
End Sub
Votre question dit: «J'ai essayé avec cette macro, mais il ne copie pas les formules, seules les valeurs et je dois coller sur des valeurs, et non sur des formules. " qui ressemble à ce que vous faites. Pouvez-vous clarifier? –
@ChrisMoore OP essaie de copier des valeurs sans écraser les formules existantes –