VBA copier coller

Bonjour, j'ai une feuille base de donnée (1), dans cette feuille j'importe une autre base de donnée (2).

Private Sub Worksheet_Activate()

Worksheets("Bdd").Range("W3:W18000").Copy _
Destination:=Worksheets("Bdd").Range("G3:G18000")

End Sub

J'utilise ce code pour copier certaines données de la Bdd (2) sur la Bdd (1)

Probleme 1 -> La feuille se met à jour uniquement quand je vais sur une autre feuille et que je reviens sur celle-ci.

Probleme 2 -> Je voudrai inclure que si .Range("W3:W18000") est vide alors ne pas copier.

Merci de vos réponses,

Bonne journée.

Bonjour

Vous êtes sur un private sub "activate" qui est un code specifique à la feuille sur laquelle il se trouve et il est déclenché lorsque la feuille est activée. Il est donc normal que ce code soit lancé et le tableau mis à jour à son activation.

@ bientôt

LouReeD

Bonjour, merci de ta réponse.

Pour mon problème 2, j'ai ajouté --> If Not IsEmpty(Range("W")) Then

Par contre cela prend l'ensemble et je voudrais que ça s'applique cellule par cellule.

Je sais pas si c'est très claire .

Bonne journée.

@ bientôt

LouReeD

Rechercher des sujets similaires à "vba copier coller"