Boucle For

Bonjour à tous,

Sub effaceValeurNulle(nbLignes)
For i = 5 To nbLignes 'de la ligne à la ligne
    For j = 1 To 49 'de la colonne à la colonne

        If Cells(i, j) <= 0 Then
            Cells(i, j).ClearContents 'Font.Bold = True

        End If
        If j = 17 Then
            If Cells(i, j) > DateAdd("m", 1, Format(Now, "dd/mm/yyyy")) Then
                Range(Cells(i, j)).Interior.ColorIndex = 10
            ElseIf Cells(i, j) > Format(Now, "dd/mm/yyyy") Then
                Range(Cells(i, j)).Interior.ColorIndex = 45
            Else
                Range(Cells(i, j)).Interior.ColorIndex = 30
        End If
    Next j
Next i
End Sub

Lorsque j'active ma macro, elle scan tous mon tableau et si elle trouve une valeur null elle l'efface, de plus sur l'une de mes colonnes je dois faire une "mise en forme conditionnelle" selon la date qui est inclue a la suite, cependant excel me renvoie une erreur sur le next de la boucle for indentant J et je ne comprends pas pourquoi. C'est pourquoi j'écris ce message dans l'espoir que quelqu'un m'aide.

Merci d'avance.

Bonjour,

Il te manque un "End If" :

Sub effaceValeurNulle(nbLignes)

For i = 5 To nbLignes 'de la ligne à la ligne
    For j = 1 To 49 'de la colonne à la colonne

        If Cells(i, j) <= 0 Then
            Cells(i, j).ClearContents 'Font.Bold = True

        End If
        If j = 17 Then
            If Cells(i, j) > DateAdd("m", 1, Format(Now, "dd/mm/yyyy")) Then
                Range(Cells(i, j)).Interior.ColorIndex = 10
            ElseIf Cells(i, j) > Format(Now, "dd/mm/yyyy") Then
                Range(Cells(i, j)).Interior.ColorIndex = 45
            Else
                Range(Cells(i, j)).Interior.ColorIndex = 30
            End If '<-- à rajouter ici
        End If
    Next j
Next i

End Sub

Merci. je suis peut être un peu con

Merci. je suis peut être un peu con

On a tous l'impression d'être un peu con en passant des heures devant notre code à buter sur des détails !

Rechercher des sujets similaires à "boucle"