VBA : comment coller des valeurs et conserver le formatage
Vous pouvez utiliser la syntaxe suivante dans VBA pour copier une plage de cellules et coller les valeurs ainsi que le formatage source vers un nouvel emplacement :
Sub PasteWithFormatting()
Range("A1:C11").Copy
Range("A13").PasteSpecial Paste:=xlPasteAllUsingSourceTheme
Application.CutCopyMode = False
End Sub
Cette macro particulière copiera les cellules de la plage A1:C11 et collera les valeurs des cellules avec leur formatage dans la plage commençant à la cellule A13 .
Remarque : La ligne Application.CutCopyMode = False précise que le mode couper et copier doit être désactivé après l’exécution de la macro.
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : coller les valeurs et conserver le formatage à l’aide de VBA
Supposons que nous ayons l’ensemble de données suivant dans Excel qui contient des informations sur divers joueurs de basket-ball :
Supposons que nous souhaitions copier et coller toutes les valeurs de la plage A1: C11 vers un nouvel emplacement et conserver le formatage.
Nous pouvons créer la macro suivante pour ce faire :
Sub PasteWithFormatting()
Range("A1:C11").Copy
Range("A13").PasteSpecial Paste:=xlPasteAllUsingSourceTheme
Application.CutCopyMode = False
End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
Notez que les valeurs des cellules d’origine ont été collées avec leur mise en forme dans la plage de cellules commençant à la cellule A13 .
Remarque : Vous pouvez trouver la documentation complète de la méthode VBA PasteSpecial ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :
VBA : Comment coller des valeurs uniquement sans formatage
VBA : Comment copier des lignes visibles sur une autre feuille
VBA : copier des lignes dans une autre feuille en fonction de critères