Changer chiffre en point de couleur

Y compris Power BI, Power Query et toute autre question en lien avec Excel
P
Puravida
Nouveau venu
Nouveau venu
Messages : 6
Inscrit le : 8 mai 2016
Version d'Excel : 2010

Message par Puravida » 8 mai 2016, 19:39

Bonjour,

Débutant en VBA, je cherche une macro pour convertir automatiquement une valeur en point de couleur. Cette conversion ne s'applique uniquement que sur des colonnes (ex: F et G)
Exemple:
si je saisie 1 dans une cellule des colonnes F ou G, c'est 2 points rouges qui apparaissent
Si je saisie 2 dans une cellule des colonnes F ou G, c'est 1 point rouge qui apparait
Si je saisie 3 dans une cellule des colonnes F ou G, c'est 1 point vert qui apparait
Si je saisie 4 dans une cellule des colonnes F ou G, c'est 2 points verts qui apparaissent.

Merci d'avance de votre aide et de votre temps offert.
Avatar du membre
Patrice33740
Membre dévoué
Membre dévoué
Messages : 662
Appréciations reçues : 60
Inscrit le : 27 juillet 2014
Version d'Excel : FR, 2007, 2003, 2016
Version de Calc : LO 6.3.5 fr

Message par Patrice33740 » 8 mai 2016, 19:58

Bonjour,

Essaies ce code :
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Intersect(Target, Columns("F:G")) Is Nothing Then Exit Sub
For Each c In Intersect(Target, Columns("F:G")).Cells
  If IsNumeric(c.Value) Then
    Select Case c.Value
      Case 1
        c.Formula = Chr(149) & Chr(149)
        c.Font.Color = RGB(255, 0, 0)
      Case 2
        c.Formula = Chr(149)
        c.Font.Color = RGB(255, 0, 0)
      Case 3
        c.Formula = Chr(149)
        c.Font.Color = RGB(0, 255, 0)
      Case 4
        c.Formula = Chr(149) & Chr(149)
        c.Font.Color = RGB(0, 255, 0)
      Case Else
        c.Font.ColorIndex = xlAutomatic
    End Select
  End If
Next c
End Sub
Patrice
Cordialement
Patrice

Personne ne peut détenir le savoir, c'est pour ça qu'on le partage.
P
Puravida
Nouveau venu
Nouveau venu
Messages : 6
Inscrit le : 8 mai 2016
Version d'Excel : 2010

Message par Puravida » 8 mai 2016, 20:28

Bonjour Patrice
Merci de votre réponse aussi réactive. J'ai collé le scripte dans visual basic, fermé et retourné sur Microsoft Excel.
Malheureusement rien ne se passe !!!!
Désolé, peut-être que ce n'est pas la bonne procédure ?
Pouvez-vous alors me joindre un fichier?
Merci de votre compréhension.
t
ti_chou_3
Membre fidèle
Membre fidèle
Messages : 173
Inscrit le : 12 décembre 2014
Version d'Excel : 2013

Message par ti_chou_3 » 8 mai 2016, 20:31

Bonsoir

en regardant :
IsNumeric(c.Value)

quel est le format de la cellule ou l'on saisit le chiffre ?

Cdt,
Pro bono
P
Puravida
Nouveau venu
Nouveau venu
Messages : 6
Inscrit le : 8 mai 2016
Version d'Excel : 2010

Message par Puravida » 8 mai 2016, 20:35

Bonsoir et merci de votre réponse.
Le format de la cellule que l'on saisit est "standard".
Modifié en dernier par Puravida le 8 mai 2016, 20:40, modifié 2 fois.
t
ti_chou_3
Membre fidèle
Membre fidèle
Messages : 173
Inscrit le : 12 décembre 2014
Version d'Excel : 2013

Message par ti_chou_3 » 8 mai 2016, 20:39

bonjour

Pourriez vous essayer ce code ?
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
If Intersect(Target, Columns("F:G")) Is Nothing Then Exit Sub
For Each c In Intersect(Target, Columns("F:G")).Cells
  If IsNumeric(c.Value) Then
    Select Case c.Value
      Case Is = "1"
        c.Formula = Chr(149) & Chr(149)
        c.Font.Color = RGB(255, 0, 0)
      Case Is = "2"
        c.Formula = Chr(149)
        c.Font.Color = RGB(255, 0, 0)
      Case Is = "3"
        c.Formula = Chr(149)
        c.Font.Color = RGB(0, 255, 0)
      Case Is = "4"
        c.Formula = Chr(149) & Chr(149)
        c.Font.Color = RGB(0, 255, 0)
      Case Else
        c.Font.ColorIndex = xlAutomatic
    End Select
  End If
Next c
End Sub
Cdt,
Pro bono
P
Puravida
Nouveau venu
Nouveau venu
Messages : 6
Inscrit le : 8 mai 2016
Version d'Excel : 2010

Message par Puravida » 8 mai 2016, 20:44

J'ai collé le script et toujours aucunes réactions !!!
Cdt
t
ti_chou_3
Membre fidèle
Membre fidèle
Messages : 173
Inscrit le : 12 décembre 2014
Version d'Excel : 2013

Message par ti_chou_3 » 8 mai 2016, 20:49

bonsoir

vous pourriez envoyer le fichier svp

cdt
Pro bono
Avatar du membre
Patrice33740
Membre dévoué
Membre dévoué
Messages : 662
Appréciations reçues : 60
Inscrit le : 27 juillet 2014
Version d'Excel : FR, 2007, 2003, 2016
Version de Calc : LO 6.3.5 fr

Message par Patrice33740 » 8 mai 2016, 20:51

Re,

Il faut mettre le code dans le module de la feuille concerné.

Edit : il faut aussi activer les macros
Cordialement
Patrice

Personne ne peut détenir le savoir, c'est pour ça qu'on le partage.
P
Puravida
Nouveau venu
Nouveau venu
Messages : 6
Inscrit le : 8 mai 2016
Version d'Excel : 2010

Message par Puravida » 8 mai 2016, 20:55

Merci Patrice, cela fonctionne maintenant.
Merci pour ce script, pour votre aide.
Merci aussi à ti_chou pour votre aide.
Le sujet est résolu.
MERCI
Modifié en dernier par Puravida le 8 mai 2016, 21:20, modifié 3 fois.
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message