Nous sommes régulièrement amenés à remplacer une plage de cellules contenant des formules par leur résultat. Autrement dit un Copier/Collage spécial – Valeur.

En VBA, après avoir éventuellement utiliser l’enregistreur de macros pour nous aider, nous aurions tendance à utiliser ce code.

Exemple pour la page A1:H100 de la feuille nommée Feuil1

 With ThisWorkbook.Worksheets("Feuil1").Range("A1:H100")
 .Copy
 .PasteSpecial Paste:=xlPasteValues
 End With
 Application.CutCopyMode = False

L’astuce consiste à utiliser la propriété Value de l’objet Range

 With ThisWorkbook.Worksheets("Feuil1").Range("A1:H100")
 .Value = .Value
 End With