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