For--Next

  • Initiateur de la discussion Moa
  • Date de début
M

Moa

Guest
Salut à Toutes et tous !

Cela fait plusieurs jours que je ne suis pas venu sur le forum...!! que de nouveaux posts...!!..ça bouge ici...

Bon voilà ma question (débile..je sais...)

J'ai essayé de faire une macro, me permetant dans une plage de cellule, d'effacer toutes les cellules dont le texte est rouge.

Le problème est que ma macro s'arrête à la première cellule de ma sélection au lieu de faire toute la plage spécifiée.

Ou est l'erreur ?

Sub EffacRou()
'
For Each Cellule In Range("d5:Ao5")
If Selection.Font.ColorIndex = 3 Then
Selection.ClearContents
Next Cellule

End Sub

De plus une fois ma macro exécutée, j'aimerais la relancer toutes les 3 lignes dans mon tableau (qui lui se termine à la ligne 63)

Merci beaucoup d'avance de votre aide.


@ +

Moa
 
E

eric

Guest
C'est un peu différent de ton code initial, mais ça marche :

For i = 5 To 63 'numéro de ligne
For j = 4 To 41 'numéro de colonne
Cells(i, j).Select
If ActiveCell.font.ColorIndex = 3 Then
Selection.ClearContents
End If
Next j

Next i
 
M

Moa

Guest
Re :

Flaille et Binouze, ça marche bien merci.

Eric, ça marche bien aussi, mais trop..héhé, car si je veux sauter de trois lignes, pour appliquer ma macro, c'est parce qu'entre ces trois lignes, il y a d'autres résultats en rouges eux aussi, mais que je dois garder.

Donc, dans mon cas, ta macro ne me convient pas:

En fait ce qu'il faut faire c'est un offset de 3 lignes à partir de la première sélectionée, avant de réappliquer la macro.

Merci à tous

@ +

Moa
 

Discussions similaires