Rapport de message :*
 

Executer une macro suite à un calcul avec worksheet calculate

Titre du sujet : Executer une macro suite à un calcul avec worksheet calculate
par bluemoon91 le 08/06/2010 14:32:52

Bonjour à tous,


Je reviens à la charge avec mes questions de débutant ;)


Suite à un calcul, la valeur de la cellule C1 de la feuille "Feuil1" est modifiée.
Lorsque cette cellule est modifiée, le code ci dessous affiche un message: "coucou" ;)

Ce que je voudrai faire, c'est qu'à la place du message sympathique "coucou" se lance une Macro.

J'ai essayé de remplacer Msgbox par Call Macro1, application.run "macro1" et d'autres syntaxes, la macro se lance mais un message d'erreur apparait et fait planter Excel:
"la méthode select range a échoué" ou "espace pile insuffisant" etc.

Quelle ligne de code faudrait-il mettre à la place de Msgbox pour lancer une Macro?

Cette fonction semble etre très utile pour détecter le changement de valeur d'une cellule suite à un calcul, apparemment avec la fonction Target ça ne marche pas, sauf si on modifie la cellule manuellement, ce qui n'est pas le cas ici.



Public ValPrec

Private Sub Worksheet_Calculate()
  Verif
End Sub

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
  If Intersect(Target, Range("c1")) Is Nothing Then Exit Sub
  Verif
End Sub

Private Sub Verif()
  If VarType(Range("c1")) = VarType(ValPrec) Then _
    If ValPrec = Range("c1") Then Exit Sub
  MsgBox "coucou"
  ValPrec = Range("c1")
End Sub


Private Sub Workbook_Open()
  Feuil1.ValPrec = Feuil1.Range("c1")
End Sub

Merci à tous pour votre aide!