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 :

Exécution automatique de macro [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2009
    Messages : 83
    Points : 37
    Points
    37
    Par défaut Exécution automatique de macro
    Bonsoir,

    Je souhaite concevoir une macro qui réagira dès que le contenu d'une plage de cellules fusionnées connue et finie (A1 par exemple) est modifié afin que soit déclenché une série d'action via la commande Call MaMacro.

    Pour le moment j'ai essayé le code suivant dans ThisWorkbook :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim ligne1 As Range
    Set ligne1 = Intersect(Target, [A1587:AV1589])
    If Not ligne1 Is Nothing Then Call MaMacro
    End Sub
    En espérant que vous pourrez me sortir de cette petite impasse...
    MacBook Pro 15" - Apple Cinema Thunderbolt 27" x2u - High Sierra - Office 2019 - Windows 10 Pro sous Parallels - MS Project 2019

  2. #2
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Hello,

    Comme ceci peut être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim ligne1 As Range
    Set ligne1 =  Range("A1587:AV1589")
    If Not Intersect(Target, ligne1) Is Nothing Then MaMacro
    End Sub
    ou...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1587:AV1589")) Is Nothing Then MaMacro
    End Sub
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2009
    Messages : 83
    Points : 37
    Points
    37
    Par défaut
    Merci, mais aucune des deux propositions fonctionnent ; il ne se passe rien !
    J'ai essayé sur une cellule unique au cas où cela viendrait des cellules fusionnées, mais le résultat est identique.
    J'ai aussi vérifié que la macro appelée fonctionnait bien.

    Une idée sur le problème ?
    MacBook Pro 15" - Apple Cinema Thunderbolt 27" x2u - High Sierra - Office 2019 - Windows 10 Pro sous Parallels - MS Project 2019

  4. #4
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Si si les deux propositions fonctionnent très bien même sur des cellules fusionnées, on ne passe pas son temps à vous proposer des codes erronés...

    Fais simplement ce test et ensuite essaye de l'adapter

    Dans Feuil1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1:A15")) Is Nothing Then MaMacro
    End Sub
    Dans un Module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub MaMacro()
    MsgBox "ça fonctionne !"
    End Sub
    En faisant une modif dans une des cellules de la plage A1:A15 de la feuille 1 tu constateras que la procédure MaMacro sera exécutée
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2009
    Messages : 83
    Points : 37
    Points
    37
    Par défaut
    Merci encore, ça y est, ça marche !!
    Je n'ai nullement douté de votre compétence; en revanche, je me doutais que je faisais une boulette plus grosse que moi quelque part et c'était bien le cas.
    En fait, comme je l'avais mentionné dans mon premier post, j'avais placé le code dans ThisWorkbook au lieu de Feuille1 ! et bien sûr, si j'avais déjà fait le test sur d'autre code et bien là, cela ne m'est même pas venu à l'esprit !! besoin de sommeil ou de prendre du recul peut-être...

    En tout cas, en grand merci à vous car mon projet arrive presque à son terme et ça commence à avoir de la gueule !
    MacBook Pro 15" - Apple Cinema Thunderbolt 27" x2u - High Sierra - Office 2019 - Windows 10 Pro sous Parallels - MS Project 2019

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

Discussions similaires

  1. [Toutes versions] VBA - exécuter automatiquement une macro
    Par NZL0401 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/04/2015, 19h50
  2. [AC-2003] Exécution d'une macro automatiquement
    Par MatAir dans le forum VBA Access
    Réponses: 3
    Dernier message: 31/05/2010, 15h41
  3. Exécution automatique d'une macro
    Par John81 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/12/2008, 19h19
  4. Syntaxe:Exécution automatique d'une macro
    Par bebertol dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 22/06/2007, 11h20
  5. exécution automatique d'une macro
    Par faayy dans le forum Access
    Réponses: 12
    Dernier message: 15/06/2005, 14h52

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