Excel VBA Comment détecter si quelque chose a été collé dans une feuille de travail

Je commencerai par dire que mon expérience avec Excel et VBA est limitée à ce que j'ai vu à l'école. J'ai une expérience de programmation, mais dans d'autres langues.

J'ai un file que je reçois chaque semaine. La structure de ce file est toujours la même: ID, Nom, Date, Valeur entre 1 et 4, données non pertinentes.

Ces données sont sélectionnées via le button "sélectionner tout" (coin supérieur gauche de la feuille de calcul, petit sortingangle au-dessous du nom de cellule dans MS excel 2013) puis copiés dans un autre file par défaut qui retravaillent datatables pour les afficher et les filterr dans différentes feuilles en fonction de la valeur 1-4 et la date.

Ma question: Comment puis-je détecter quand datatables ont / sont collées? J'ai essayé l'événement Worksheet.Change, mais la command paste (CTRL + V) ne triggers pas l'événement Change. En outre, comment datatables seront-elles copiées? Est-ce que cela mettra à jour Row par rangée, cellule par cellule (quelle direction), …? Je sais que je peux facilement find la réponse à la dernière question en la débarquant une fois que je peux détecter la command de copy, mais vous ne savez jamais si quelqu'un connaît la réponse.

Existe-t-il une autre manière plus simple (ou meilleure) de faire cela?

De plus amples informations et données peuvent être fournies si nécessaire.

Merci de votre aide.

EDIT: '… a / est-il copié?' changé en collé comme il se doit.

Private Sub Worksheet_Change(ByVal Target As Range) Dim UndoList As Ssortingng '~~> Get the undo List to capture the last action performed by user UndoList = Application.CommandBars("Standard").Controls("&Undo").List(1) '~~> Check if the last action was not a paste nor an autofill If Left(UndoList, 5) = "Paste" Then 'Do stuff End If End Sub 

Cela a fait l'affaire. Pour ceux qui ont besoin de quelque chose de semblable et connaissent la taille de leur list, la réponse de MaciejLos fonctionnerait également.

Worksheet_Change événement fera le travail si vous ajoutez une formule dans une cellule qui ne sera jamais écrasée. Disons que vos données sont collées dans une cellule A1 et occupent 5 colonnes. Donc, entrez la formule ci-dessous dans la colonne 6. et la ligne 1.

 =COUNTBLANK(A1:A1048576) 

Maintenant, vous êtes en mesure de gérer / détecter l'événement collant;)