Rapport de message :*
 

Re: Executer une macro suite à un calcul avec worksheet calculate

Titre du sujet : Re: Executer une macro suite à un calcul avec worksheet calculate
par bluemoon91 le 10/06/2010 16:50:13

Re,

Je tiens à vous présenter à tous mes excuses si vous pensez que j'ai manqué de respect à qui que ce soit.

Comme vous l'avez vu, je suis totalement novice dans le domaine et effectivement j'ai posté sur d'autres forums la meme problématique car voyant que cela pouvait poser une difficulté, j'ai pensé pouvoir avoir plusieurs avis différents sur la questions.
Quoi qu'il en soit, j'ai toujours utilisé le meme pseudo partout, donc je n'ai pas voulu le dissimuler.
D'autant plus que j'actualise les réponses en fonction de ce que je trouve chez les uns et les autres, et je ne pars pas comme un voyou car je respecte le travail des autres.

Ceci dit, je viens de lire ton lien sur les multiposts et je comprends tout à fait ton point de vu, on a besoin d'avoir la discussion dans son ensemble pour plus de clarté.
Je reconnais donc mon erreur.


Quoi qu'il en soit, en "bidouillant" le code de Laurent Longre à la manière d'un débutant, le problème est résolu.
Je ne sais pas pourquoi ça fonctionne, mais il suffisait d'intervertir 2 lignes de codes dans Private Sub Verif:

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("A1")) = VarType(ValPrec) Then _
    If ValPrec = Range("C1") Then Exit Sub
 
  ValPrec = Range("C1")

   Macro1
     
                 
End Sub
 




et maintenant, cela fonctionne très bien, je vous poste le fichier que j'ai posté ici mais modifié.

Dans le code de Laurent Longre, Msgbox était suivi de ValPrec = Ranga("C1), j'avais donc remplacé MsgBox par Macro1, ce qui me semblait logique, mais cela ne marchait pas.

J'ai donc essayé de mettre Macro1 à la fin, et cela fonctionne.

Il est donc possible de lancer une macro à partir d'un changement automatique de cellule, cela pourra en plus m'etre très utile pour d'autres choses.

Je vous remercie infiniement pour votre patience et le temps que vous avez accordé à mon problème.

Et encore une fois, je vous présente mes excuses pour le multipost.


bien cordialement