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 :

Macro discréte et automatique [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2010
    Messages : 4
    Par défaut Macro discréte et automatique
    Bonjour,

    j'ai réussis à faire une macro qui, en fonction d'une valeur de cellule, modifie la couleur d'une forme (ellipse) . Elle a cette tête (voir dessous)

    Mais j'aimerai que la macro "s'active" automatiquement dés qu'une valeur est modifiée dans le classeur, et si possible que le classeur ne se nome pas .xlsm mais .xlsx, et puis si vous avez une idée pour condenser mon script.

    est ce possible? si oui pouvez vous m'indiquer comment y arriver?

    merci d'avance

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
     
    Sheets("graph").Select
    '           ***************
    '           ** résultat **
    '           ***************
    's'il y a aucun accident couleur vert
    '
    If Sheets("résultat de v").Range("Q4") = 0 Then
    ActiveSheet.Shapes("Ellipse 13").Select
    Selection.ShapeRange.Fill.ForeColor.RGB = RGB(140, 255, 140)
    End If
    '
    's'il y a 1 accident couleur bleu
    '
    If Sheets("résultat de v").Range("Q4") = 1 Then
    ActiveSheet.Shapes("Ellipse 13").Select
    Selection.ShapeRange.Fill.ForeColor.RGB = RGB(20, 200, 240)
    End If
    '
    's'il y a 2 accidents couleur orange
    '
    If Sheets("résultat de v").Range("Q4") = 2 Then
    ActiveSheet.Shapes("Ellipse 13").Select
    Selection.ShapeRange.Fill.ForeColor.RGB = RGB(246, 139, 50)
    End If
    '
    's'il y a 3 accidents  ou plus couleur rouge
    '
    If Sheets("résultat de v").Range("Q4") >= 3 Then
    ActiveSheet.Shapes("Ellipse 13").Select
    Selection.ShapeRange.Fill.ForeColor.RGB = RGB(255, 0, 0)
    End If

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    à mettre sur l'évènement change de la feuille "résultat de v"
    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)
    Dim klr As Single
    If Target.Address = "$Q$4" Then
        Select Case Target.Value
            Case 0: klr = RGB(140, 255, 140)
            Case 1: klr = RGB(20, 200, 240)
            Case 2: klr = RGB(246, 139, 50)
            Case Is >= 3: klr = RGB(255, 0, 0)
        End Select
        Sheets("graph").Select
        ActiveSheet.Shapes("Ellipse 13").Select
        Selection.ShapeRange.Fill.ForeColor.RGB = klr
    End If
    End Sub

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2010
    Messages : 4
    Par défaut Super Grand MERCI
    je te remercie vraiement mercatog!!

    ca marche mieux que sur le plan!!!

    un grand merci a toi et au site qui permet ces échanges.

    MERCI

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

Discussions similaires

  1. Macro pour changer automatiquement certaines cellules?
    Par Zantetsu dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/01/2009, 19h54
  2. Bug macro affectée à forme automatique Excel2007
    Par Montor dans le forum Contribuez
    Réponses: 0
    Dernier message: 25/12/2008, 15h15
  3. [Excel] Macro Excel lancée automatiquement
    Par Student3010 dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 06/08/2008, 17h52
  4. problème macro et filtre automatique par une variable texte
    Par Drozo dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/08/2007, 09h05
  5. [VBA]Macro d'impression automatique
    Par olivier45fr dans le forum SDK
    Réponses: 5
    Dernier message: 27/11/2006, 11h04

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