[VBAcEXCEL03][DOne] Faire la SUM des cellules qui ne sont pas en gras

Faire la SUM des cellules qui ne sont pas en gras [VBAcEXCEL03][DOne] - VB/VBA/VBS - Programmation

Marsh Posté le 05-12-2005 à 11:03:04    

bonjour,
 
j'ai besoin de faire la somme ( cellule rouge ) des cellules en jaune sans compter les cellules en gras  
 
soit en VBA soit par une formule =SI(...)
 
http://img210.imageshack.us/img210/7797/sanstitre24xy.jpg
 
 
merci d avance


Message édité par sakuraba le 05-12-2005 à 12:24:04
Reply

Marsh Posté le 05-12-2005 à 11:03:04   

Reply

Marsh Posté le 05-12-2005 à 11:56:42    

Salut sakuraba,
 
pour savoir quelle est la couleur d'une cellule et définir si elle est en gras, tu peux utiliser ceci  :

Code :
  1. Sub CouleurStyleCellule()
  2. MsgBox (ActiveCell.Font.Bold)
  3. MsgBox (ActiveCell.Interior.ColorIndex)
  4. End Sub


 
Ensuite en macro, dans le code de la feuille Private Sub Worksheet_SelectionChange(ByVal Target As Range) où target est ta zone à additioner, tu peux faire une boucle avec test sur le format de la cellule et déclenche un total automatique que tu affiches dans la case rouge.
 
Si tu as besoin de plus d'aide je pourrais voir ça peut-être cet après midi :)
 
@+
 


---------------
Je bidouillle c'est sur... Mais j'essaye de faire en sorte que ça marche ;-)
Reply

Marsh Posté le 05-12-2005 à 12:06:47    

merci je vais regarder ça

Reply

Marsh Posté le 05-12-2005 à 12:23:26    

voila la solution merci watashi :)
 

Code :
  1. Sub TotalHT()
  2. Dim i
  3. Total = 0
  4. For i = 24 To 40
  5.     If Range("F" & i).Font.Bold = False Then
  6.         Total = Total + Range("F" & i).Value
  7.     Else
  8.     End If
  9. Next i
  10. Range("F42" ).Value = Total
  11. End Sub

Reply

Marsh Posté le 05-12-2005 à 14:01:56    

;)
 
Tiens si tu l'inclues dans worksheet_selectionchange ça te donnes ça :

Code :
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2.      Dim i As Integer, total As Currency
  3.      If Target.Column = 6 Then
  4.           If Target.Row < 40 And Target.Row > 24 Then
  5.           For i = 24 To 40
  6.                If Cells(i, 5).Value <> "" And Cells(i, 5).Font.Bold = False Then
  7.                     total = total + Cells(i, 5).Value
  8.                Else
  9.                End If
  10.           Next i
  11.           Range("F42" ).Value = total
  12.           Else
  13.           End If
  14.      Else
  15.      End If
  16. End Sub


 
bon courage


---------------
Je bidouillle c'est sur... Mais j'essaye de faire en sorte que ça marche ;-)
Reply

Marsh Posté le 06-12-2005 à 03:03:36    

ben,
si la zone en jaune est H2:H30 alors total :
= SOMME(H2:H30)/2
?


---------------
roger
Reply

Marsh Posté le 06-12-2005 à 09:14:31    

bien vu galopin  
C'est même la sollution la plus simple si ça corresponds au sous-total.
 
Ca m'avait pas sauté aux yeux lol


---------------
Je bidouillle c'est sur... Mais j'essaye de faire en sorte que ça marche ;-)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed