Boucle sur colonne

Le
Alex
Re Bonjour à tous,

Quelqu'un pourrait il m'aider pour mettre ces lignes de commandes dans
une boule sur colonne (de la colonne B à la colonne BL), moi je n'y
arrive pas :

'Colonne B
'=
==
==

'Somme Vert
'=
=
Range("B3:B367").Select
total = 0
For Each C In Selection
If C.Interior.ColorIndex = 43 Then
total = total + C.Value
End If
Next C
Range("B371").Value = ""
Range("B371") = total
total = 0
'Somme rose Rose
'=
=
For Each C In Selection
If C.Interior.ColorIndex = 38 Then
total = total + C.Value
End If
Next C
Range("B373").Value = ""
Range("B373") = total

total = 0
'Somme Rouge
'=
=
For Each C In Selection
If C.Interior.ColorIndex = 3 Then
total = total + C.Value
End If
Next C
Range("B374").Value = ""
Range("B374") = total


Merci par avance de votre aide
Alex
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacky
Le #22362511
Bonjour,

Si les cellules en question sont peinturlurées par la mise en forme conditionnelle, on ne peut (sauf à monter
une usine à gaz) faire le total des cellules coloriées.
Utiliser la condition qui est utilisée dans la MFC pour faire le total.
--
Salutations
JJ


"Alex"
Re Bonjour à tous,

Quelqu'un pourrait il m'aider pour mettre ces lignes de commandes dans
une boule sur colonne (de la colonne B à la colonne BL), moi je n'y
arrive pas :

'Colonne B
'================================================================================== 'Somme Vert
'========================================== Range("B3:B367").Select
total = 0
For Each C In Selection
If C.Interior.ColorIndex = 43 Then
total = total + C.Value
End If
Next C
Range("B371").Value = ""
Range("B371") = total
total = 0
'Somme rose Rose
'======================================= For Each C In Selection
If C.Interior.ColorIndex = 38 Then
total = total + C.Value
End If
Next C
Range("B373").Value = ""
Range("B373") = total

total = 0
'Somme Rouge
'=========================== For Each C In Selection
If C.Interior.ColorIndex = 3 Then
total = total + C.Value
End If
Next C
Range("B374").Value = ""
Range("B374") = total


Merci par avance de votre aide
Alex
Alex
Le #22362821
Bonjour,

Merci pour ta réponse.
La formule fonctionne bien, et fait bien la somme des cellules
coloriees (sans mise en forme conditionnelle).
Mon souci est d'écrire :
Range("B3:B367").Select avec le numéro de colonne en varible.
Si j'ai la selection en variable, je pense résoudre le problème, mais
malheureusement, j'ai beau trituré dans tous les sens mon Range, ca
beug systhèmatiquement dessus.
Ex range(cells(j,3),cells(j,367)).select cela ne fonctonne pas ?

Merci par avance de ton aide
Alex
Jacky
Le #22363411
Re...
Essaie comme ceci
'------------
Sub jj()
[B371] = "": [b373] = "": [b374] = ""
Application.ScreenUpdating = False
Set plage = Range("b1", Cells(367, Range("B1").CurrentRegion.Columns.Count + 1))
For Each c In [plage]
If c.Interior.ColorIndex = 43 Then Range("B371") = Range("B371") + 1
If c.Interior.ColorIndex = 38 Then Range("b373") = Range("b373") + 1
If c.Interior.ColorIndex = 3 Then Range("b374") = Range("b374") + 1
Next
End Sub
'-------------------
Voir ici
http://www.cijoint.fr/cjlink.php?file=cj201007/cijX12IJTT.xls

--
Salutations
JJ


"Alex"
Bonjour,

Merci pour ta réponse.
La formule fonctionne bien, et fait bien la somme des cellules
coloriees (sans mise en forme conditionnelle).
Mon souci est d'écrire :
Range("B3:B367").Select avec le numéro de colonne en varible.
Si j'ai la selection en variable, je pense résoudre le problème, mais
malheureusement, j'ai beau trituré dans tous les sens mon Range, ca
beug systhèmatiquement dessus.
Ex range(cells(j,3),cells(j,367)).select cela ne fonctonne pas ?

Merci par avance de ton aide
Alex
Jacky
Le #22364661
Re...
Ou plus simplement, comme la dernière colonne est connue (bl)
'------------------
Sub jj()
[B371] = "": [b373] = "": [b374] = ""
Application.ScreenUpdating = False
For Each c In Range("b1:bl367")
If c.Interior.ColorIndex = 43 Then [B371] = [B371] + 1
If c.Interior.ColorIndex = 38 Then [b373] = [b373] + 1
If c.Interior.ColorIndex = 3 Then [b374] = [b374] + 1
Next
End Sub
"---------------------
--
Salutations
JJ
Publicité
Poster une réponse
Anonyme