Macro si
alphonse
-
Alphlof Messages postés 2 Statut Membre -
Alphlof Messages postés 2 Statut Membre -
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
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
A voir également:
- Macro si
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Macro maker - Télécharger - Divers Utilitaires
- Actiona macro - Télécharger - Divers Utilitaires
4 réponses
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
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
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
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