Saluttout le monde

cs_ouza Messages postés 5 Date d'inscription jeudi 18 novembre 2004 Statut Membre Dernière intervention 2 décembre 2004 - 2 déc. 2004 à 23:16
barley Messages postés 107 Date d'inscription jeudi 28 janvier 2010 Statut Membre Dernière intervention 28 janvier 2010 - 3 déc. 2004 à 02:12
j' ai deux problèmes
1-dans une colonne j' ai des dates dans une autres des chiffres
je veux un fonction qui me permet d'avoir une couleur conditionelle rouge à une cellule de chiffre quand la celle date est comprise dans une période de fête.
2-j'ai cette fonction( voir plus bas) qui me permet de calculer des sommes selon la couleur de la cellule mais je voudrais une qui me calcule le nombre de cellules de couleur rouge ou qui me donne 2 a chaque fois qu'une couleur est rouge.

Function Sommerouge(Plage As Range)
For Each cell In PlageIf cell.Interior.ColorIndex 3 Then vSomme vSomme + cell.Value
Next
Sommerouge = vSomme
End Function

2 réponses

barley Messages postés 107 Date d'inscription jeudi 28 janvier 2010 Statut Membre Dernière intervention 28 janvier 2010
3 déc. 2004 à 01:55
pour le changement de la couleur de la cellule contenant les chiffres lorsque la cellule de date est comprise dans une periode de vacances:

Sub Main()
Dim cell
For Each cell In Range("B1:B14") ' ici la plage de cellules a scruter est par exemple B1:B14--> plage des dates
If cell > (#12/17/1978#) And cell < #12/20/1978# Then 'periode de vacances, on peut inclure les jours en ajoutant =, on peut aussi preciser plus de periodes en ajoutant des and
cell.Select 'on active chaque cellule qui est comprise dans la periode voulue
ActiveCell.EntireRow.Cells(1, 1).Interior.ColorIndex = 3 'on affecte la couleur rouge (3) a la cellule placée sur la meme ligne (premier 1 pour le decalage horizontal, c'est a dire pas de decalage) et sur la colonne a coté (ici 1--> numéro de la colonne des cellules contenant les chiffres, c'est a dire ici A)
End If
Next ' on boucle
End Sub
0
barley Messages postés 107 Date d'inscription jeudi 28 janvier 2010 Statut Membre Dernière intervention 28 janvier 2010
3 déc. 2004 à 02:12
pour l'autre module:

Sub Main()
Dim cells, somme
somme = 0 'initialisation du compteur de cellules rouges
For Each cells In Range("A1:A15") 'scrute les cellules de la colonne A de 1 à 15, arbitraire
If cells.Interior.ColorIndex = 3 Then 'si la couleur de la cellule est rouge
somme = somme + 1 ' le compteur est incrémenté de 1
cells.select ' active la cellule
activecell.value = 2 'ecrit la valeur dans la cellule en question
End If
Next ' boucle

End Sub

ici, somme renvoi le nombre de cellules rouges
pour:
cells.select ' active la cellule
activecell.value = 2 'ecrit la valeur dans la cellule en question
je suis pas sur que ce soit ce qui t'interesse, mais j'ai pas bien pigé...
0
Rejoignez-nous