prise en compte de la valeur 0 dans une macro

martinjl

XLDnaute Nouveau
re bonjour,
je reposte mon message car je m'aperçois qu'il ya eu des coupures dans le texte

Bonjour à tous,
J'ai réalisé une macro qui, dans une plage de données,
colore les cellules de façon différente selon la valeur de la cellule:
bleu pour c.value<50
vert pour 50<c.value100
Cette macro appelée 'couleursans0' fonctionne bien.
Mais la meme macro 'couleuravec0' avec:
blanc pour c.value=0
bleu pour 0<c.value<50
vert pour 50<c.value100
me colore en vert toutes les cellules comprises entre 0 et 100
et en rouge les cellules sup à 100.
J'ai tourné le problème dans tous les sens mais je ne trouve pas la solution.
Un grand merci à celui qui pourra m'aider.
jlm [file name=selection_valeurs.zip size=7659]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/selection_valeurs.zip[/file]

Message édité par: martinjl, à: 08/03/2006 11:37
 

Pièces jointes

  • selection_valeurs.zip
    7.5 KB · Affichages: 18

Hervé

XLDnaute Barbatruc
Bonjour martinjl, josé :)

Oui, tu as un souci de structure de tes conditions if, de plus ce type de code (les if...then...) ne facilitent pas les relectures, essayes comme ceci :


Sub couleuravec0()
'
' Macro3 Macro
' Macro enregistrée le 07/03/2006 par martinjl
'

Dim c As Range

For Each c In Range('A1:D15')
       
Select Case c
               
Case 0: c.Interior.ColorIndex = 2
               
Case 1 To 50: c.Interior.ColorIndex = 5
               
Case 51 To 100: c.Interior.ColorIndex = 4
               
Case Is > 101: c.Interior.ColorIndex = 3
       
End Select
Next c
End Sub


enfin, fait attention avec les limites de tes bornages (50 et 100)

salut
 

martinjl

XLDnaute Nouveau
Bonjour Hervé,
Merci beaucoup pour ta réponse et ta macro bien plus simple
que la mienne et qui fonctionne à un petit détail près:
la dernère ligne: Case Is>101 colore les cases =101 en blanc
j'ai corrigé par >100 et ça marche!
encore merci et à+ sur ce forum génial!
jlm
 

martinjl

XLDnaute Nouveau
re bonjour pierrejean,
ce que je ne comprends pas c'est pourquoi dans
la première macro 'couleursans0', la formulation
50<c.value<100 fonctionne alors que dans la
deuxième macro où j'ai voulu introduire la valeur 0,
ça ne fonctionne pas ??!
jlm
 

Discussions similaires

Statistiques des forums

Discussions
312 216
Messages
2 086 351
Membres
103 195
dernier inscrit
martel.jg