IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Lancer une macro à partir d'une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 681
    Points : 633
    Points
    633
    Par défaut Lancer une macro à partir d'une cellule
    [Excel 2003] Est-il possible de lancer une macro à partir du contenu d'une cellule?
    Exemple : Si A1=2 alors "lancer la macro".

  2. #2
    Invité
    Invité(e)
    Par défaut
    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

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 681
    Points : 633
    Points
    633
    Par défaut
    Je voudrai bien essayer, mais où trouver "l'évènement Change de ma feuille" ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    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

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 681
    Points : 633
    Points
    633
    Par défaut
    Bonjour Jacques_jean,
    Mais ce code, je le rentre où?

  6. #6
    Invité
    Invité(e)
    Par défaut
    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"

    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.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 681
    Points : 633
    Points
    633
    Par défaut
    Une image vaut mieux que 10 000 mots. Ci-joint un fichier avec le fonctionnement souhaité.

  8. #8
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    Dans un module :
    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
    Dans le code de la feuille :
    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

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    681
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 681
    Points : 633
    Points
    633
    Par défaut
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lancer une macro à partir d'une validation List
    Par Stifoun dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/04/2015, 18h24
  2. [OpenOffice][Base de données] comment lancer une SQL à partir d'une macro
    Par marco62118 dans le forum OpenOffice & LibreOffice
    Réponses: 1
    Dernier message: 05/08/2013, 08h05
  3. [XL-2007] Possibilité de lancer un bouton à partir d'une macro
    Par EFFLYINGJOKER dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/01/2010, 18h08
  4. Lancer une macro à partir d'une valeur de cellule
    Par arkorrigan dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/06/2008, 10h03
  5. Réponses: 5
    Dernier message: 04/01/2007, 16h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo