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 :

[VBA-E] Lancement d'une macro en fonction du contenu d'une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 206
    Points : 62
    Points
    62
    Par défaut [VBA-E] Lancement d'une macro en fonction du contenu d'une cellule
    Bonjour,

    Je cherche le moyen de changer grâce à un menu déroulant, les données sources d'un, graphique.
    Je m'explique : J'ai un tableau qui contient une colonne par mois, et une ligne par fournisseur. Mon graphique affiche l'histogramme pour un fournisseur, et je voudrais par un menu déroulant pouvoir choisir le fournisseur, pour afficher l'histogramme de celui-ci.

    Il faudrait donc une macro qui en fonction de l'index du menu déroulant irait changer les données sources du graphique.

    J'espère que c'est faisable, merci de l'attention que vous porterez à ma demande.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 206
    Points : 62
    Points
    62
    Par défaut
    Je me suis débrouillé avec l'enregistreur de macro pour trouver comment changer la source de donnée. Mais maintenant, j'aimerais savoir comment choisir les différents choix de la liste déroulante, et comment affecter une macro différente à chaque élément de la liste.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 206
    Points : 62
    Points
    62
    Par défaut
    Personne a l'air de savoir donc j'ai procédé autrement, j'ai créé une liste à l'intérieur de la cellule même en faisant Données\Validation... et en choisissant liste.
    Maintenant mon problème, c'est de lancer une macro en fonction du choix fait dans cette cellule.
    Il me faudrait la macro correspondant à ça :

    Si la cellule J3 = Fournisseur 1 alors (je lance macro1)
    sinon si cellule J3 = Fournisseur 2 alors (je lance macro 2)

    et ainsi de suite.. Pitié aidez moi.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 206
    Points : 62
    Points
    62
    Par défaut
    J'ai fait ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If ActiveSheet.Range("J3").Value = "fournisseur1" Then
    et ça ne marche pas, je comprend pas
    Pourtant si je met un else et que je met un msgbox après, lui fonctionne.
    Si je le met après la première condition, ça ne marche pas.

    Qu'est-ce qui ne va pas dans mon code ?


    -----

    Je précise que fournisseur1 est le contenu de la cellule J3.

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If lcase(ActiveSheet.Range("J3").Value) = "fournisseur1" Then
    Tu peux avoir un pb de casse...
    A tout hasard

    ou remplace value par formula
    ou ajoute une ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print ActiveSheet.Range("J3").Value
    et affiche la "Fenêtre Exécution" dans l'éditeur VB pour voir ce que ton code "trouve" dans cette cellule

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 206
    Points : 62
    Points
    62
    Par défaut
    C'était bien un problème de casse -_-

    Merci beaucoup.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/05/2009, 16h27
  2. Filtre d'une combo en fonction du contenu d'une autre
    Par sguedon dans le forum SharePoint
    Réponses: 3
    Dernier message: 24/06/2008, 09h11
  3. Suppression d'une ligne en fonction du contenu d'une case
    Par Iloon dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 18/06/2008, 13h43
  4. Réponses: 11
    Dernier message: 10/06/2008, 10h31
  5. Réponses: 2
    Dernier message: 29/08/2007, 10h55

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