VBA Excel : Pourcentage [Résolu]

KMIKZ 21 Messages postés mardi 12 octobre 2004Date d'inscription 26 avril 2008 Dernière intervention - 18 juil. 2007 à 16:21 - Dernière réponse : KMIKZ 21 Messages postés mardi 12 octobre 2004Date d'inscription 26 avril 2008 Dernière intervention
- 20 juil. 2007 à 09:23
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
Afficher la suite 

7 réponses

Répondre au sujet
jrivet 7401 Messages postés mercredi 23 avril 2003Date d'inscription 6 avril 2012 Dernière intervention - 18 juil. 2007 à 16:38
+3
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de jrivet
mortalino 6812 Messages postés vendredi 16 décembre 2005Date d'inscription 21 décembre 2011 Dernière intervention - 18 juil. 2007 à 16:47
0
Utile
100 % ... mais de quoi, d'une autre valeur certainement ?
Faudra donc récupérer la valeur afin de calculer la variation.

@++

(
Commenter la réponse de mortalino
Molenn 797 Messages postés mardi 7 juin 2005Date d'inscription 23 février 2011 Dernière intervention - 18 juil. 2007 à 17:41
0
Utile
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
Commenter la réponse de Molenn
cs_MPi 3863 Messages postés mardi 19 mars 2002Date d'inscription 13 mars 2018 Dernière intervention - 18 juil. 2007 à 23:53
0
Utile
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
Commenter la réponse de cs_MPi
Molenn 797 Messages postés mardi 7 juin 2005Date d'inscription 23 février 2011 Dernière intervention - 19 juil. 2007 à 07:49
0
Utile
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
Commenter la réponse de Molenn
cs_MPi 3863 Messages postés mardi 19 mars 2002Date d'inscription 13 mars 2018 Dernière intervention - 19 juil. 2007 à 12:14
0
Utile
Faut bien se dérider un peu...
Bonne journée...

MPi
Commenter la réponse de cs_MPi
KMIKZ 21 Messages postés mardi 12 octobre 2004Date d'inscription 26 avril 2008 Dernière intervention - 20 juil. 2007 à 09:23
0
Utile
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 !
Commenter la réponse de KMIKZ

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.