Macro si

Bonsoir,
Je suis débutant ! J’ai fait une macro pour copier des cellules fusionnées, elle fonctionne :
Sub Macro20()
'
' Macro20 Macro
' Macro enregistrée le 17/06/2009

Range("AL27:AR28").Select
Selection.Copy
Range("N18:T19").Select
Range("N19").Activate
ActiveSheet.Paste
Range("K27").Select

End Sub
mais j’aimerais qu’elle se lance quand la valeur de la cellule AL =20

If Feuil2.Range("$AL$19").Value = 20 Then Module1.Macro20
Le problème la macro tourne en boucle
Merci de votre aide
Configuration: Windows Vista
Safari 530.17

4 réponses

  1. Bonjour,
    Pas de problème pour le retard, moi je travaille de 14 à 23 H donc pas tjs à l’ordi
    Oui c’est cela, voici la formule le l’ai un peu simplifié pour les tests :
    =SI(I25=0;20;0)
    Bonne journée
    Fony
    0
    1. Désolé pour le retard

      Peux tu me donner la formule qui est inscrite en AL19?

      Sinon en faite si j'ai bien compris, tant que la cellule AL19 est vide, on ne fait rien, mais dès qu'elle prend la valeur 20 tu voudras lancer la macro c'est bien sa?
      0
      1. Merci pour ta réponse,
        Mais il faut que la macro se lance automatiquement quand la cellule "AL19" a comme résultat 20, cette cellule a une formule: SI .....
        NB Le problème c'est que l'écran tremble plusieurs seconde et empêche nouvelle entrée sur la feuille.
        Bonne journée
        Fony
        0
        1. Bonjour Alphonse,

          Tu veux que la macro se lance si AL19 contient 20? ou AL + ligne active?

          Si la la cellule de référence est fixe (ex : AL2 tout le temps, le code suivant est incomplet,mais tu peux le travailler, hésite pas à le dire

          Si tu veux pour AL + ligneactive, ce que je pense,

          Tu fait une boucle while, je précise je ne suis pas expert mais j'essai d'aider ^^

          dim numligne as integer

          numligne = 1
          sheets("feuil2").range("A2").select
          while activecell.range("A2")<> empty ' tant que la cellule active n'est pas vide

          if sheets("feuil2").range("AL" & numligne) = 20
          [tu met ton code]
          end if

          activecell.offset(1,0)?activate 'active la cellule suivante vers le bas
          wend

          Voila ensuite tu presse alt + F8 afin de lancer une fenêtre qui te permetra de mettre un raccourci sur ta macro
          tu selectionne la macro puis tu fait option, tu choisi une lettre pour le raccourci.
          A chaque fois que tu apuyera sur ce raccourci, la macro se lancera.

          Bon tests

          Necro27
          0