[Excel 2003] Est-il possible de lancer une macro à partir du contenu d'une cellule?
Exemple : Si A1=2 alors "lancer la macro".
[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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part 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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager