VBA Excel : Pourcentage [Résolu]

Signaler
Messages postés
21
Date d'inscription
mardi 12 octobre 2004
Statut
Membre
Dernière intervention
26 avril 2008
-
Messages postés
21
Date d'inscription
mardi 12 octobre 2004
Statut
Membre
Dernière intervention
26 avril 2008
-
Bonjour à tous je cherche à mettre en rouge les cellules (entre B15 et Y15) dont le pourcentage est supérieur ou égal à 100%

Voici ce que je fais ...

'    For Each c In Range("B15:Y15")
'        If c.Value >= 100% Then
'            c.Interior.ColorIndex = 3
'        End If
'    Next

... mais je sais bien que c'est faux !

Pouvez-vous m'aider SVP

merci d'avance

KMIKZ

7 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
49
Salut,
Essai peu etre un truc du style
Dim C As Range

For Each C In Range("B15:Y15")
   If (Val(C.Text)) > 100 Then    C.Interior.ColorIndex = 3
Next, ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
100 % ... mais de quoi, d'une autre valeur certainement ?
Faudra donc récupérer la valeur afin de calculer la variation.

@++

(
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
5
Attention, il ne faut pas confondre : Je suppose que ton pourcentage est un format de ta cellule. La valeur de la cellule n'est donc pas 100 %

La cellule a deux propriétés, .text et .value
Si tu fais c.value, la valeur remontée sera 1 pour 100 % affiché.
Si tu fais c.text, la valeur remontée sera celle affichée dans la celulle, soit 100 % (sachant qu'au format texte, tu ne pourras pas faire un >=)

Donc, tu modifies ta boucle en conséquence, soit
If c.Value >= 1 Then
   c.Interior.ColorIndex = 3
End If
soit
If c.Text = "100 %" Then
   c.Interior.ColorIndex = 3
End If

Pour t'en rendre compte, mets donc juste avant le début de ta boucle, une message box ou un debug.print
debug.print "Value : " & c.value & " - Text :" & c.text

Molenn
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Molenn, je suis surpris que tu ne lui aies pas parlé de la Mise en forme conditionnelle.
Je sens un relâchement là ...

KMIKZ,
menu Format / Mise en forme conditionnelle
Dans les conditions, tu mets,
Si la valeur de la cellule est ...... supérieure à ...... 1
Puis tu cliques le bouton "Format" pour affecter les polices/couleurs que tu souhaites
Puis OK

Ensuite, tu copies le format (petit pinceau...) aux cellules que tu veux.

MPi
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Statut
Membre
Dernière intervention
23 février 2011
5
Mais heeeeeuuuu, on se fout de moi là non ?

J'y ai bien pensé, mais bon, j'en parlais déjà dans un autre post et je me suis dit que cette fois, j'allais juste répondre sur le VBA puisque le code était déjà écrit ... Et puis je fais ce que je veux, je n'ai pas à me justifier, na !  

Molenn
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Faut bien se dérider un peu...
Bonne journée...

MPi
Messages postés
21
Date d'inscription
mardi 12 octobre 2004
Statut
Membre
Dernière intervention
26 avril 2008

Merci à tous,

j'ai trouvé mon bonheur et j'apprécie beaucoup les différentes méthodes que vous me proposez pour y arriver

bonne journée

KMIKZ

PS : j'ai posé une nouvelle question sur le forum "VBA Excel : Commentaire" ça devrait être du gâteau pour vous !