Comment éviter que la zone copiée soit visible sur le tableau d'origine

Bonjour a tous,

Je viens de bricoler un code pour copier une liste de valeur (feuille "caloric value", range "Ingredient_europe") et la coller sur une autre feuille (feuille "Europe'", range "ingredient_label_eu") lorsqu'on modifie une valeur dans la liste.

Le code a l'air fonctionnel, même si je suis sûr qu'il doit être optimisable

Voici le code :

Private Sub Worksheet_Change(ByVal Target As Range)

Application.ScreenUpdating = False

Dim Ingredients As Range
Dim IngredientLabel As Range

Set Ingredients = Sheets("caloric Value").Range("Ingredients_europe")
Set IngredientLabel = Sheets("Europe").Range("ingredient_label_eu")

If Not Application.Intersect(Ingredients, Range(Target.Address)) Is Nothing Then

Ingredients.Copy

IngredientLabel.Value = Sheets("caloric Value").Range("Ingredients_europe").Value

End If

End Sub

Ce qui est étrange c'est que lorsqu'il s'exécute, je vois la zone qui sera copiée à l'écran

Dans le cas ci-dessous, j'ai changé la case B12 et ce changement est bien répercuter sur la feuille feuille "Europe'", range "ingredient_label_eu" mais comme vous le voyez, la zone copier est visible.

Je pensais justement que "Application.ScreenUpdating = False" servait a ça.

image

Est-ce possible d'éviter cela s'il vous plait?

En vous remerciant par avance

Bastien

Bonjour en fin de macro il suffit de selectionner une autre cellule et de désactiver "cut -copy"

Range("a1").Select
    Application.CutCopyMode = False

Merci :-)

Rechercher des sujets similaires à "comment eviter que zone copiee soit visible tableau origine"