Application VBA.CutCopyMode = False
Si vous avez enregistré des macros lors d'un copier-coller, vous avez probablement vu la ligne de code suivante :
1 | Application.CutCopyMode = False |
Cette ligne de code « efface » le presse-papiers*. Si vous avez copié une cellule Excel, l'exécution de cette ligne de code supprimera l'animation autour de la cellule copiée :
CutCopyMode est une propriété au niveau de l'application qui indique si un programme Microsoft Office (ex. Excel) est en mode Couper ou Copier. En mode copier (ou couper), Excel a quelque chose stocké dans son presse-papiers qui peut être collé.
Je ne suis pas au courant d'un moment où vous auriez besoin de définir Application.CutCopyMode sur True.
Éviter CutCopyMode = False
Vous pouvez généralement éviter d'avoir à définir Application CutCopyMode = False en utilisant les meilleures pratiques VBA Copy+Paste. À titre d'exemple, la ligne de code suivante copie et colle une cellule sur une seule ligne, éliminant ainsi le besoin de définir CutCopyMode sur False :
123 | Sub CopyPaste_OneLine()Plage("a1").Copier la plage("b1")Fin du sous-marin |
Obtenir le statut Application.CutCopyMode
Occasionnellement, vous souhaiterez peut-être obtenir le statut Application.CutCopyMode. Potentiellement pour éviter les erreurs lors de la tentative de collage alors qu'il n'y a rien dans le presse-papiers. Pour obtenir le statut, utilisez le code suivant :
123456789101112 | Sous Get_Application_CutCopyMode_Status()Sélectionnez Case Application.CutCopyModeLa casse est = xlCopierMsgBox "Mode Copie"Cas est = xlCutMsgBox "Mode Couper"Cas est = fauxMsgBox "Pas en mode Couper ou Copier"Fin de la sélectionFin du sous-marin |
*Application.CutCopyMode effacera uniquement le presse-papiers de l'application Microsoft Office (ex. Excel). Cela n'effacera pas le presse-papiers de Windows. Cliquez sur le lien pour en savoir plus sur la façon d'effacer le presse-papiers de Windows à l'aide de VBA.