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 :

Lancement macro sur calcul d'une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 62
    Points : 50
    Points
    50
    Par défaut Lancement macro sur calcul d'une cellule
    Salut la compagnie

    Voila je souhaite lancer une macro quand il y une modification d'une cellule bien précise dans la feuille...

    J'ai tenté de faire ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Private Sub Worksheet_Calculate(Target As Range)
        If Not Application.Intersect(Target, Range("I124")) Is Nothing Then
            Call pricebase
        End If
        If Not Application.Intersect(Target, Range("I151")) Is Nothing Then
            Call pricebase
        End If
        If Not Application.Intersect(Target, Range("I177")) Is Nothing Then
            Call pricebase
        End If
        If Not Application.Intersect(Target, Range("I203")) Is Nothing Then
            Call pricebase
        End If
        If Not Application.Intersect(Target, Range("I229")) Is Nothing Then
            Call pricebase
        End If
     
    End Sub
    J'ai copié la technique du Worksheet_change maisvisiblement cela ne fonctionne pas puisqu'il me dit que la déclaration del a procédure ne correspond pas!

    En fait, je veux pas qui exécute la macro pour tout changement, je veux juste pour les cellule présente dans mon code. dans le cas contraire, l'exécution de la macro pourrait être trop longue pour la feuille et pourrait même provoquer des erreurs

    Merci de vos réponses

  2. #2
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour,
    je viens de recopier ton et j'ai fais ca, adaptes le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Application.Intersect(Target, Range("I1")) Is Nothing Then
            MsgBox "ok"
        ElseIf Not Application.Intersect(Target, Range("I2")) Is Nothing Then
            MsgBox "ok"
        ElseIf Not Application.Intersect(Target, Range("I3")) Is Nothing Then
            MsgBox "ok"
        ElseIf Not Application.Intersect(Target, Range("I4")) Is Nothing Then
            MsgBox "ok"
        ElseIf Not Application.Intersect(Target, Range("I5")) Is Nothing Then
            MsgBox "ok"
        End If
     
    End Sub

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 62
    Points : 50
    Points
    50
    Par défaut
    Merci pour ta rapidité

    En fait, j'avais déjà tenté d'utiliser Worsheet_Change mais cela ne fonctionne pas.

    IL n'y a pas d'erreur, mais il ne se passe rien!

    J'ai tenté ta version et comme je le pensais, cela ne fait rien

  4. #4
    Membre averti Avatar de J.Michel
    Inscrit en
    Septembre 2007
    Messages
    279
    Détails du profil
    Informations personnelles :
    Âge : 61

    Informations forums :
    Inscription : Septembre 2007
    Messages : 279
    Points : 323
    Points
    323
    Par défaut
    Place un au tout début de ta procédure pour voir si elle se déclenche bien (ou utilise les points d'arrêts)

    Si elle ne se déclenche pas, vérifie le niveau de sécurité des macro sur ton Excel

  5. #5
    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 : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Le Target n'est pas d'application avec l'événement Calculate vu que c'est suite à une modification dans une autre cellule (celle qui a le Target) que la valeur de la cellule visée change.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 62
    Points : 50
    Points
    50
    Par défaut
    Justement le problème est bien là!

    Quand j'utilise le _change et que je m'arrange pour que la valeur change, rien ne se lance. Il n'est pas capable de déceler le changement de valeur...

    Le _calculate étant trop global, je sais pas quoi faire. Il faudrait cibler le _calculate sur les cellules concernées, j'ai tenté un peu mais je trouve pas

    En revanche, je sui sen macro faible donc pas de soucis de ce côté là

    EDIT: Nos post se sont croisés...
    En effet, je ne pense pas qu'il soit possible d'utiliser un Target avec _calculate... Mais comment faire donc :-(

  7. #7
    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 : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Jette un oeil sur cette discution

    http://www.developpez.net/forums/sho...d.php?t=584690
    .

  8. #8
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Je ne voudrais pas insister avec ce que j'ai proposé (parce que pour moi ça marchait) mais le problème ne vient t'il pas de la procédure appelée "Call pricebase"

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 62
    Points : 50
    Points
    50
    Par défaut
    Merci ça marche

    J'avais effectivement pensé à faire un test de ce genre qui compare une ancienne valeur mais je me suis dis qu'il devait y avoir une solution plus "jolie"...

    Le principal c'est que cela fonctionne et désolé de ne pas avoir vu le post qui traitait de ce sujet

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

Discussions similaires

  1. Lancer une macro sur changement de valeur cellule
    Par maximilien59 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/01/2012, 11h10
  2. Lancer une macro sur changement de valeur cellule
    Par reyzilin dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 13/12/2011, 17h57
  3. [E-00] lancement macro à la modification d'une cellule
    Par imaril dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/10/2008, 11h22
  4. Lancement d'une macro à la modification d'une cellule
    Par popsmelove dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 10/06/2008, 15h08
  5. [VBA-E]Lancer une macro sur changement de valeur cellule ?
    Par jeremiegrenoble dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/03/2006, 14h22

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