Cumul de contenu de cases avec condition couleur

M

Matthieu

Guest
Bonjour le forum,

Depuis peu, je m'intéresse au dévellopement des macros avec excel, & j'avoue avoir de grosses lacunes.

J'ai commencé de réaliser une macro qui fait le cumul du nombres de cellules d'une certaines couleur ça marche OK (gràce à l'aide du forum).

Par contre je bug pour faire des cumuls qui doivent ce faire sous les mêmes conditions.

Je pense qu'il y a quelque chose qui m'échappe .
Si quelqu'un peut m'aider, et m'expliquer là où je bug ce serait vraiment sympa.


Bonne journée à tout le monde.

Et voici le petit fichier qui va bien
 

Bricofire

XLDnaute Impliqué
Bonjour Matthieu, :)
Vite fait, ta syntaxe me paraît bizarre, mais je n'ai pas eu le temps de détailler, vois si le fichier joint fait ce que tu veux ( + ou -), et répond en précisant ou si OK, je te donnerai les explications... ;)

bonne journée,

Brico [file name=MachinesB3V2.zip size=13462]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/MachinesB3V2.zip[/file]

Message édité par: bricofire, à: 25/02/2006 13:33
 

Pièces jointes

  • MachinesB3V2.zip
    13.1 KB · Affichages: 55

Bricofire

XLDnaute Impliqué
re Matthieu, :)

C'est le cas de le dire, c'est une question de mise 'au point' :)
ton code :
For rwIndex = 14 To 40

With ActiveSheet.Cells(rwIndex, colIndex)

'cellules vertes maintenance de contrôle
If Cells(rwIndex, colIndex).Interior.ColorIndex = 35 And Cells(rwIndex, Colcompcoul).Interior.ColorIndex = 34 Then
a1 = a1 + 1
Cumul = Cumul + .Cells(rwIndex, 4) 'C'est Ici le bleme : Le cumul du contenu des cases la colonne 4 par rapport au cases vertes ne se fait pas
Cumul1 = Cumul1 + .Cells(rwIndex, colIndex) 'C'est Ici Le bleme : Le cumul du contenu des cases dans le champs ne se fait pas
End If
Etc...la suite


Le pb est ton emploi de l'instruction With, vois l'aide VBA qui est comme toujours instructive...
Dans ces deux lignes :

Cumul = Cumul + .Cells(rwIndex, 4)
Cumul1 = Cumul1 + .Cells(rwIndex, colIndex)


With avec les points que tu as mis devant les Cells font que ton code est égal à :

Cumul = Cumul + ActiveSheet.Cells(rwIndex, colIndex).Cells(rwIndex, 4)
Cumul1 = Cumul1 + ActiveSheet.Cells(rwIndex, colIndex).Cells(rwIndex, colIndex)


Ce qui est bizarre pour le moins, le code du coup n'en fait rien.
Donc si tu retires simplement les points en question, ton code devient plus explicite et l'action voulue se produit...

Il n'en reste pas moins que dans la syntaxe employée, Les With ActiveSheet.Cells(rwIndex, colIndex) ne servent à rien, vu que tu répètes les objets où là ils pourraient être remplacés par des points, je les avais donc désactivés en les mettant en commentaires. Je te joins un nouveau fichier, où j'ai enlevé le bug et modifié le code pour utiliser le With justement, je ne suis pas allé plus loin, mais en comparant les deux, tu devrais pouvoir avancer pour la suite..
;)

Bon courage,

Brico [file name=MachinesB3V3.zip size=13901]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/MachinesB3V3.zip[/file]

Message édité par: bricofire, à: 25/02/2006 16:18
 

Pièces jointes

  • MachinesB3V3.zip
    13.6 KB · Affichages: 47

pat1545.

XLDnaute Accro
Salut Matthieu,

peux tu exliquer, car je ne vois pas bien où tu fais ton total et ou sont ces cellules vertes sauf en F14
Petite remarque: il est à mon humble avis préférable de de pas nommer des variables comme des cellules de la feuille: donc A1 deviendrait m_A1 par exemple.

Ensuite pourquoi une boucle en vba alor qu'une formule devrait donner la réponse... ?

Patrick
 

Discussions similaires

Statistiques des forums

Discussions
312 443
Messages
2 088 474
Membres
103 863
dernier inscrit
OUIDDIR