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 :

nuage de points programmable


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 17
    Par défaut nuage de points programmable
    Bonjour,

    En piece jointe j'ai un nuage de points


    Je cherche a faire 3 tranches

    de 0 à 200 une couleur
    de 200 à 400 une autre
    400 à 1000 encore une autre couleur

    est ce que vous pourriez m'aider pour modifier ca dans le code VBA

    Merci
    Fichiers attachés Fichiers attachés

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2007
    Messages : 93
    Par défaut
    Bonjour,

    Si j'ai bien lu, quelquechose comme ca devrait faire l'affaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Sub ModifCouleur()
      ActiveSheet.ChartObjects(1).Activate
      For i = 1 To ActiveChart.SeriesCollection(1).Points.Count
         If Application.Index(ActiveChart.SeriesCollection(1).Values, i) < 200 Then
          ActiveChart.SeriesCollection(1).Points(i).MarkerBackgroundColorIndex = 4
        ElseIf Application.Index(ActiveChart.SeriesCollection(1).Values, i) > 400 Then
          ActiveChart.SeriesCollection(1).Points(i).MarkerBackgroundColorIndex = 3
        Else
            ActiveChart.SeriesCollection(1).Points(i).MarkerBackgroundColorIndex = 5
        End If
      Next i
    End Sub

  3. #3
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 17
    Par défaut marche pas !!
    Ca ne fonctionne pas

    de plus il n'y a pas 3 tranches ici mais deux !!

    <200
    ou bien
    >400

    et d'autre aprt je ne comprends pas pourquoi les points ne prennent pas une couleur différente selon la tranche dans laquelle ils se trouvent.
    Fichiers attachés Fichiers attachés

  4. #4
    Membre Expert
    Avatar de cb_60
    Homme Profil pro
    Chargé de mission technique
    Inscrit en
    Juillet 2007
    Messages
    1 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chargé de mission technique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 253
    Billets dans le blog
    14
    Par défaut
    Bonjour
    Chez moi cela fonctionne?
    L'imagination est plus importante que le savoir.... A . Einstein. :pastaper:
    https://www.developpez.net/forums/blogs/179588-cb_60/
    Merci de cliquer sur :resolu:pour clore cette discussion.

  5. #5
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 17
    Par défaut Je m'exprime mal je pense
    Je crois que je me fais tres mal comprendre. Visiblement c'est evident pour moi et non pour les autres internautes.

    Je cherche a voir 3 couleurs de points selon la tranche

    je viens de voir dans le code de cb_60 ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub ModifCouleur()
      ActiveSheet.ChartObjects(1).Activate
      For i = 1 To ActiveChart.SeriesCollection(1).Points.Count
         If Application.Index(ActiveChart.SeriesCollection(1).Values, i) < 200 Then
          ActiveChart.SeriesCollection(1).Points(i).MarkerBackgroundColorIndex = 4
          ActiveChart.SeriesCollection(1).Points(i).MarkerForegroundColorIndex = 4
        Else
            ActiveChart.SeriesCollection(1).Points(i).MarkerBackgroundColorIndex = 39
            ActiveChart.SeriesCollection(1).Points(i).MarkerForegroundColorIndex = 39
        End If
      Next i
    End Sub

    Je ne comprends pas plusieurs choses:

    Pourquoi dans le code y a successivement 2 lignes répétées deux à deux ???

    D'aprés ce que je lis si c'est inferieur a 200 c'est une couleur sinon c'est une autre couleur.

    Or, si je prends deux valeurs comme 199 et 201 elles devraient etre de couleur différentes alors que j'obtiens la meme couleur !!!

    Enfin, je cherche a mettre 3 couleurs differentes selon la tranche et je modifierai les tranches selon les besoins des claculs.

    J'espere que c'est plus clair. Si ca marche pas pour moi serait-ce parce que je suis sous Mac ??

    Merci pour votre aide

  6. #6
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 94
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveChart.SeriesCollection(1).Points(i).MarkerBackgroundColorIndex = 4
    ActiveChart.SeriesCollection(1).Points(i).MarkerForegroundColorIndex = 4

  7. #7
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 17
    Par défaut suite
    ok
    Comment se caracterise VISUELLEMENT la difference entre background et foreground ??
    J'essaye de comprendre la logique du code

    Pour les autres questions ?? pourquoi entre 199 et 201 je n'observe pas une difference de couleur des points??

    Merci

  8. #8
    Membre Expert
    Avatar de cb_60
    Homme Profil pro
    Chargé de mission technique
    Inscrit en
    Juillet 2007
    Messages
    1 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chargé de mission technique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 253
    Billets dans le blog
    14
    Par défaut
    Bonjour
    Voici une petite modif qui te permettra j'espere de faire ce que tu souhaite en "D1" la valeur inferieur, en "D2" la valeur superieur et en "d3" j'ai coloré la cellule ( visuel de la couleur qui est entre "d1 et d2").
    La difference entre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveChart.SeriesCollection(1).Points(i).MarkerBackgroundColorIndex = 4
    ActiveChart.SeriesCollection(1).Points(i).MarkerForegroundColorIndex = 4
    une permet de colorer l'interieur du point et l'autre permet de colorer le contour.
    Il faut relancer la macro à chaque modification de point
    L'imagination est plus importante que le savoir.... A . Einstein. :pastaper:
    https://www.developpez.net/forums/blogs/179588-cb_60/
    Merci de cliquer sur :resolu:pour clore cette discussion.

  9. #9
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 17
    Par défaut Genial
    Merci 1000 fois cb_60 pour ton aide précieuse

    Tu as ecris le programme idéal pour moi. Changer les valeurs de seuil depuis une cellule est tellement pratique !!

    Par contre, si j'ajoute des valeurs et que j'allonge les deux zones que doit inclure le graphe et que je réapplique la macro ca ne me colore plus les nouveaux points qui quelles que soient leur valmeur restent en violet !

    Pourquoi ne peut on pas allonger la liste ??

    Merci

  10. #10
    Membre Expert
    Avatar de cb_60
    Homme Profil pro
    Chargé de mission technique
    Inscrit en
    Juillet 2007
    Messages
    1 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chargé de mission technique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 253
    Billets dans le blog
    14
    Par défaut
    bonjour
    Voici le fichier, j'ai nommée les X et Y avec la fonction decaler
    L'imagination est plus importante que le savoir.... A . Einstein. :pastaper:
    https://www.developpez.net/forums/blogs/179588-cb_60/
    Merci de cliquer sur :resolu:pour clore cette discussion.

  11. #11
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 17
    Par défaut bouuuuuuu
    Chez moi en tous cas ca ne marche pas !

    Prenons un exemple concret:

    A la valeur 5 qui correspond 199 je change 199 pour 900 ( changement important avouez le)
    Je clique sur go
    Au niveau du graphe LA COULEUR NE CHANGE PAS. C'est a devenir fou !!

    Si maintenant je rajoutte des données au nuage de point : pareil elles ne sont pas prises en compte (aucun changement automatique de couleur )

    Si pret du but j'y arrive pas !!!

  12. #12
    Membre Expert
    Avatar de cb_60
    Homme Profil pro
    Chargé de mission technique
    Inscrit en
    Juillet 2007
    Messages
    1 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chargé de mission technique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 253
    Billets dans le blog
    14
    Par défaut
    re
    Bizarre ton probleme car j'ai moi aprés avoir changer la valeur que tu indique, j'ai relancé la macro et le point est bien changé de couleur!!!!
    L'imagination est plus importante que le savoir.... A . Einstein. :pastaper:
    https://www.developpez.net/forums/blogs/179588-cb_60/
    Merci de cliquer sur :resolu:pour clore cette discussion.

  13. #13
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 17
    Par défaut probleme de version ??
    Serait-ce un probleme de version de office ?
    Je n'arrive meme pas a lancer la macro sur excel 2007 !!

  14. #14
    Membre Expert
    Avatar de cb_60
    Homme Profil pro
    Chargé de mission technique
    Inscrit en
    Juillet 2007
    Messages
    1 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chargé de mission technique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 253
    Billets dans le blog
    14
    Par défaut
    Bonsoir
    Malheureusement je ne peux pas t'aider je n'ai pas excel 2007 pour faire les tests
    L'imagination est plus importante que le savoir.... A . Einstein. :pastaper:
    https://www.developpez.net/forums/blogs/179588-cb_60/
    Merci de cliquer sur :resolu:pour clore cette discussion.

  15. #15
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    le code de cb_60 fonctionne parfaitement sous Excel 2003. Très bon code, bravo !

  16. #16
    Membre Expert
    Avatar de cb_60
    Homme Profil pro
    Chargé de mission technique
    Inscrit en
    Juillet 2007
    Messages
    1 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chargé de mission technique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 253
    Billets dans le blog
    14
    Par défaut
    Bonsoir
    Mon code n'est pas mon code mais une adaptation d'une proposition qui avait été faite sur les posts du dessus ( rendons à César ce qui est à César, je crois que l'origine de ce code et de JB)
    Amicalement
    L'imagination est plus importante que le savoir.... A . Einstein. :pastaper:
    https://www.developpez.net/forums/blogs/179588-cb_60/
    Merci de cliquer sur :resolu:pour clore cette discussion.

  17. #17
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonjour

    la procédure fonctionne parfaitement sous Excel2007


    bon week end
    michel

  18. #18
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 17
    Par défaut Genial
    Ca marche
    Merci 100 000 fois
    Sans le savoir vous venez d'aider des myopathes.
    ( Petit bémol ca marche pas sur macintosh)

    Merci encore

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

Discussions similaires

  1. Equation d une sphere a partir d un nuage de points
    Par MDiabolo dans le forum Algorithmes et structures de données
    Réponses: 27
    Dernier message: 05/05/2006, 16h40
  2. Plan a partir d'un nuage de points
    Par Pedro dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 10/04/2006, 15h34
  3. nuage de points
    Par uriotcea dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 25/03/2006, 10h29
  4. nuages de points sont-ils dans une zone??
    Par smedini dans le forum Algorithmes et structures de données
    Réponses: 26
    Dernier message: 21/02/2006, 11h01
  5. interpolation couleur entre nuage de points
    Par soubre dans le forum OpenGL
    Réponses: 2
    Dernier message: 02/07/2005, 15h52

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