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.
Est-ce possible d'éviter cela s'il vous plait?
En vous remerciant par avance
Bastien