[Excel 2003] Est-il possible de lancer une macro à partir du contenu d'une cellule?
Exemple : Si A1=2 alors "lancer la macro".
Version imprimable
[Excel 2003] Est-il possible de lancer une macro à partir du contenu d'une cellule?
Exemple : Si A1=2 alors "lancer la macro".
Bonjour
Essaye de faire un test de la cellule sur l'évènement Change de ta feuille. Et aprés le résultat du test de lancer la macro.
Starec
Je voudrai bien essayer, mais où trouver "l'évènement Change de ma feuille" ?
Bonjour,
Code:
1
2
3
4
5
6 Sub Worksheet_Change(ByVal Target As Range) If Range("A2") = 2 Then 'Votre code End If End Sub
Bonjour Jacques_jean,
Mais ce code, je le rentre où?
Re Marc56,
Vous voulez parler de la ligne : 'Votre code
Si le traitement que vous voulez faire concerne la feuille en cours vous pouvez l'entrer justement en lieu et place de 'Votre code
Vous pouvez aussi à la place de cette ligne, entrer :
et dans la fenêtre VBA cliquer sur "Insertion" puis "Module"Code:Call Ma_procedure
et dans la fenêtre de droite : Sub Ma_procedure()
(c'est vous qui décidez du nom)
et taper la suite du code pour le traitement que vous voulez faire.
Mais il y a tellement de possibilités que vous avez 3 solutions (que vous pouvez cumuler) :
-préciser ce que vous voulez faire pour que l'on puisse vous mettre sur la voie.
-consulter l'aide de lorsque vous êtes sur la fenêtre VBA
-consulter la FAQ et les Tutos sur ce site.
Une image vaut mieux que 10 000 mots. Ci-joint un fichier avec le fonctionnement souhaité.
Hello,
Dans un module :
Dans le code de la feuille :Code:
1
2
3
4
5
6
7
8
9 Sub Macro1() If Range("a1") = "jaune" Then Range("C4:D9").Interior.ColorIndex = 6 Range("C4:D9").Interior.Pattern = xlSolid Else Range("C4:D9").Interior.ColorIndex = 1 Range("C4:D9").Interior.Pattern = xlSolid End If End Sub
Code:
1
2
3
4
5
6
7 Private Sub Worksheet_Change(ByVal Target As Range) If Target = Range("A1") Then Call Macro1 End If End Sub
Parfait et merci à tous.
Pour les novices comme moi, je précise que le "code de la feuille" est visible en faisant un clic droit sur l'onglet de la feuille active.