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 :

declencher une macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 161
    Par défaut declencher une macro
    Coucou chui novice (désolé )
    Est-il possible de commander une macro depuis le changement de valeur d'une cellule ?

    Exemple: lorsque je tape une valeur (x) dans une cellule (y) (feuil de calcule XL) alors la macro (z) démarre

    Comment faire bon sang!!Mais comment faire !!!

  2. #2
    Membre Expert Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Par défaut
    bonjour

    en utilisant l'interruption change de l'objet worksheet

    dans le projet VBA, à gauche, une fenetre avec la liste de tes feuilles, tu choisis ta feuille et double click

    en haut liste choisir worksheet, une macro s'ouvre avec l'interruption selectionchange

    à droite de la liste worksheet, autre liste, choisir Change

    Apparait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub worksheets_change(byval target as range)
     
    end sub
    ajouter entre ces deux lignes les lignes suivantes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if target.address<> "$A$1" then exit sub ' si ce n'est pas la cellule A1, je sors
    if target = "x" then call macrox
    if target = "y" then call macro y
    bonne soirée

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Par défaut
    Citation Envoyé par wilfried_42 Voir le message
    bonjour

    Apparait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub worksheets_change(byval target as range)
     
    end sub
    ajouter entre ces deux lignes les lignes suivantes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if target.address<> "$A$1" then exit sub ' si ce n'est pas la cellule A1, je sors
    if target = "x" then call macrox
    if target = "y" then call macro y
    bonne soirée



    Plutôt :
    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.Address = y Then ' y étant une adresse de type "A1"
            If Target.Value = x Then ' permet d'agir seulement si tape la valeur x
                Call z    ' z étant le nom de la macro; Le mot Call peut être omis
            End If
        End If
    End Sub

  4. #4
    Membre Expert Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Par défaut
    re:

    singular, tu n'as pas tout a fait tord, je voulais meme en ajouter une, ce n'etait qu'un exemple, voulant dire que l'on peut lancer des macro en fonction de la valeur d'une cellule

    pas contre je precise que .address ne retourne que des adresses figée de type $colonne$ligne

    il existe un parametre permetant de tester en adresse de type A1, mais je ne le retrouve plus

    j'ai une trop petite tete

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Par défaut
    Citation Envoyé par wilfried_42 Voir le message
    re:
    ...

    pas contre je precise que .address ne retourne que des adresses figée de type $colonne$ligne

    il existe un parametre permetant de tester en adresse de type A1, mais je ne le retrouve plus

    j'ai une trop petite tete
    ... $ligne$colonne ...

    Réponse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Target.Address(RowAbsolute:=False, ColumnAbsolute:=False) = y Then ' y étant une adresse de type "A1"
    ou la méthode plus courte,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Target.Address = y Then ' y étant une adresse de type "$A$1"
    Mais nan! T'as pas une si petite tête, juste un mauvais clavier...

    Et deux p'tites têtes valent mieux qu'une!

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

Discussions similaires

  1. declencher une macro suite a une modification d une feuille Excel
    Par chamus dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 11/01/2007, 09h50
  2. [VB6] Exécuter une macro Access
    Par Nektanebos dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 22/02/2006, 16h32
  3. [VBA-E] [Excel] Lancer une macro à une heure donnée
    Par Lysis dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/10/2002, 12h15
  4. Qu'est-ce qu'une macro ?
    Par karli dans le forum Assembleur
    Réponses: 2
    Dernier message: 01/09/2002, 03h38
  5. Réponses: 2
    Dernier message: 22/07/2002, 12h13

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