Bonjour à tous,
Je me permet d'écrire ce post car mon programme ne fonctionne qu'une fois sur 10 et après maintes recherches et tentatives, je ne sais toujours pas pourquoi ! J'ai besoin de votre aide.
Je vous explique :
j'ai programmé une fonction permettant de mettre en place un code couleur quant à l'état des cellules d'une même ligne des colonnes "E" et "F" :
- VERT : Les deux cellules des colonnes "E" et "F" ont la même valeur
- ORANGE : Les deux cellules des colonnes "E" et "F" ont des valeurs différentes
- ROUGE : Une deux deux cellules est vide (vous pouvez voir sur l'image ci jointe que cela ne fonctionne pas du tout).
Cette fonction est enclenchée par un bouton "mettre à jour".
Le problème étant qu'elle ne fonctionne qu'un fois sur 10, sans réellement que je sache pourquoi... J'ai tenté de modifier le format des cellule ou de changer les horaires plusieurs fois, en vain. De façon aléatoire, ma fonction va me colorer ou non mes cellules correctement.
Pouvez vous me dire où j'ai commis une erreur dans mon code (ci joint) ?
Private Sub CommandButton_MAJ_Click()
'déclaration de la variable de nombre de ligne
Dim NbLig As Integer
'Cacul du nombre de ligne remplies dans ma colonne
NbLig = Cells(1, 5).SpecialCells(xlCellTypeLastCell).Row
For i = 4 To NbLig
'Si les cellules ont des valeurs différentes alors elles sont colorées en orange
If Cells(i, 5).Value <> Cells(i, 6).Value Then
Cells(i, 5).Interior.Color = RGB(255, 128, 0)
Cells(i, 6).Interior.Color = RGB(255, 128, 0)
End If
'Si les cellules ont les mêmes valeurs alors elles sont colorées en vert
If Cells(i, 5).Value = Cells(i, 6).Value Then
Cells(i, 5).Interior.Color = RGB(0, 160, 0)
Cells(i, 6).Interior.Color = RGB(0, 160, 0)
End If
'Si l'une des cellules est vide, alors elles sont colorées en Rouge
If (Cells(i, 5).Value = "") Or (Cells(i, 6).Value = "") Then
Cells(i, 5).Interior.Color = RGB(255, 0, 0)
Cells(i, 6).Interior.Color = RGB(255, 0, 0)
End If
Next
End Sub
Merci et Bonne fin de journée