Problème ActiveSheet avec PrivateSub

Bonjour,

J'ai une macro très simple qui fonctionne bien pour copier coller des valeurs d'une cellule à une autre :

If Range("A34").Value <> 0 Then
Range("B34").Copy
Range("G9").Select
ActiveSheet.Paste

J'ai essayé de mettre ce code pour qu'il s'exécute automatiquement dès que la case A34 contient une valeur, dans Visualiser le code : Worksheet / SelectionChange (dans la nouvelle fenêtre qui s'ouvre) via la commande :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

et j'ai désormais l'erreur suivante lorsque le code est exécuté :

Erreur d'exécution '5' : Argument ou appel de procédure incorrect

Il y a un problème avec la ligne ActiveSheet.Paste pour des raisons de protection de feuille d'après ce que j'ai pu lire sur internet...

Je n'ai pas réussi à m'en sortir pour arrêter cette erreur alors que mon code marchait très bien avant... Quelqu'un pourrait m'aider?

Par avance, merci beaucoup

Bonjour, Pourquoi passer par un copier coller pour dire qu'une cellule est égale à une autre ?

If Range("A34").Value <> 0 Then
Range("G9").value=Range("B34").value
end if

Pour info, La propriété Paste ne peut pas s'appliquer à un objet feuille mais seulement à un objet Range

Parmi les objets Range , on a Selection, Range, UsedRange, Cells(,)

Salut,

Besoin de VBA pour cela ?

Dans la cellule G9 coller = = SI(A34<>0;B34;0)

Merci pour vos conseils, cela fonctionne!

Rechercher des sujets similaires à "probleme activesheet privatesub"