Macro lancée par modification de cellules (feuilles différentes)

Résolu/Fermé
paulrouldug Messages postés 2 Date d'inscription vendredi 3 janvier 2014 Statut Membre Dernière intervention 3 janvier 2014 - Modifié par pijaku le 3/01/2014 à 15:56
paulrouldug Messages postés 2 Date d'inscription vendredi 3 janvier 2014 Statut Membre Dernière intervention 3 janvier 2014 - 3 janv. 2014 à 15:10
Bonjour à tous,

J'ai une question sur une macro vba qui me pose problème. J'essaye de lancer une macro sur une feuille 2 a partir d'une modification d'une plage de cellules sur une feuille 1. Voici ma macro que j'ai incorporé sur le code de la feuille 1:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim cashflow As Worksheet
Set cashflow = Sheets("Cash Flow")
 If Not Application.Intersect(Target, Range("A1:AD73")) Is Nothing Then
    cashflow.Activate
    cashflow.Range("AW41").GoalSeek Goal:=0, ChangingCell:=Range("D8")
 End If
End Sub


Malheureusement j'ai un message d'erreur sur la ligne :
cashflow.Range("AW41").GoalSeek Goal:=0, ChangingCell:=Range("D8")

Si j'incorpore cette même macro sur le code de ma feuille "cashflow", la macro se lance parfaitement. Elle ne fonctionne pas uniquement parce que je veux la lancer à partir d'une autre feuille.

Quelqu'un peut-il m'aider?
Merci mille fois!

1 réponse

michel_m Messages postés 16582 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 26 novembre 2022 3 283
Modifié par michel_m le 3/01/2014 à 14:56
Bonjour

un exemple à adapter à ton contexte

la macro recopie la valeur de la cellule modifiée de A1:AD73 en E2 de la feuille2 et écrit en rouge

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("A1:AD73")) Is Nothing Then
With Sheets(2).Range("E2")
.Value = Target
.Font.ColorIndex = 3
End With
End If

End Sub


Michel
1
paulrouldug Messages postés 2 Date d'inscription vendredi 3 janvier 2014 Statut Membre Dernière intervention 3 janvier 2014
3 janv. 2014 à 15:10
Effectivement, ca marche bien.
Merci pour l'aide!
0