Problèmes avec une boucle VBA
Nanix
-
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'essaie de créer une automatisation des codes couleurs à partir de 4 cellules sur la droite.
Si le client peut nous fournir 3 types de clientèle, alors mettre nom en rouge,
2 types de clientèle alors mettre nom en jaune
ainsi de suite.
J'ai cherché partout et je ne trouve pas pourquoi la boucle ne s'exécute pas normalement.
Il souligne bien que quelques lignes au début et le reste devient gris. De plus, quand je change les champs et je reéssaie la macro, il ne change plus aucune couleur.
Voici le code:
Sub Surligner()
Dim var_compteur As Integer
var_compteur = 0
For i = 6 To 1000
If Cells(i, 11).Value Like "*encore*" Then
var_compteur = var_compteur + 1
Else
var_compteur = var_compteur + 0
End If
If Not Cells(i, 12).Value = 0 And Not Cells(i, 13).Value Like "" Then
var_compteur = var_compteur + 1
Else
var_compteur = var_compteur + 0
End If
If Cells(i, 14).Value Like "*encore*" Then
var_compteur = var_compteur + 1
Else
var_compteur = var_compteur + 0
End If
If var_compteur = 3 Then
Range("A" & i & ":j" & i).Interior.Color = RGB(255, 0, 0)
ElseIf var_compteur = 2 Then
Range("A" & i & ":j" & i).Interior.Color = RGB(255, 255, 0)
ElseIf var_compteur = 1 Then
Range("A" & i & ":j" & i).Interior.Color = RGB(0, 255, 0)
ElseIf var_compteur = 0 Then
Range("A" & i & ":j" & i).Interior.Color = RGB(0, 0, 255)
End If
If Cells(i, 11).Value = "" Or Cells(i, 12).Value = "" Or Cells(i, 13).Value = "" Or Cells(i, 14).Value = "" Then
Range("A" & i & ":j" & i).Interior.Color = RGB(128, 128, 128)
End If
Next
End Sub
Merci beaucoup!!!!
j'essaie de créer une automatisation des codes couleurs à partir de 4 cellules sur la droite.
Si le client peut nous fournir 3 types de clientèle, alors mettre nom en rouge,
2 types de clientèle alors mettre nom en jaune
ainsi de suite.
J'ai cherché partout et je ne trouve pas pourquoi la boucle ne s'exécute pas normalement.
Il souligne bien que quelques lignes au début et le reste devient gris. De plus, quand je change les champs et je reéssaie la macro, il ne change plus aucune couleur.
Voici le code:
Sub Surligner()
Dim var_compteur As Integer
var_compteur = 0
For i = 6 To 1000
If Cells(i, 11).Value Like "*encore*" Then
var_compteur = var_compteur + 1
Else
var_compteur = var_compteur + 0
End If
If Not Cells(i, 12).Value = 0 And Not Cells(i, 13).Value Like "" Then
var_compteur = var_compteur + 1
Else
var_compteur = var_compteur + 0
End If
If Cells(i, 14).Value Like "*encore*" Then
var_compteur = var_compteur + 1
Else
var_compteur = var_compteur + 0
End If
If var_compteur = 3 Then
Range("A" & i & ":j" & i).Interior.Color = RGB(255, 0, 0)
ElseIf var_compteur = 2 Then
Range("A" & i & ":j" & i).Interior.Color = RGB(255, 255, 0)
ElseIf var_compteur = 1 Then
Range("A" & i & ":j" & i).Interior.Color = RGB(0, 255, 0)
ElseIf var_compteur = 0 Then
Range("A" & i & ":j" & i).Interior.Color = RGB(0, 0, 255)
End If
If Cells(i, 11).Value = "" Or Cells(i, 12).Value = "" Or Cells(i, 13).Value = "" Or Cells(i, 14).Value = "" Then
Range("A" & i & ":j" & i).Interior.Color = RGB(128, 128, 128)
End If
Next
End Sub
Merci beaucoup!!!!
A voir également:
- Problèmes avec une boucle VBA
- Vba range avec variable ✓ - Forum VB / VBA
- Excel compter cellule couleur sans vba - Guide
- Télé samsung s'éteint et se rallume en boucle - Forum Téléviseurs
- Vba excel sélectionner une plage de cellules variable ✓ - Forum VB / VBA
- Vba attendre 1 seconde ✓ - Forum VB / VBA
1 réponse
Bonjour,
Le i n'est pas déclarer ET var_compteur = 0 n'est pas bien positionner
Et ton dernier test ne laisse passer que la condition 3
Toutefois ton code un peu améliorer...
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
Le i n'est pas déclarer ET var_compteur = 0 n'est pas bien positionner
Et ton dernier test ne laisse passer que la condition 3
Toutefois ton code un peu améliorer...
Sub Surligner()
Dim var_compteur As Integer, i As Integer
Application.ScreenUpdating = False
For i = 6 To 30
var_compteur = 0
var_compteur = var_compteur + Abs(Cells(i, 11).Value Like "*encore*")
var_compteur = var_compteur + Abs(Cells(i, 12) <> 0 And Cells(i, 13) <> "")
var_compteur = var_compteur + Abs(Cells(i, 14).Value Like "*encore*")
With Range("A" & i & ":j" & i)
Select Case var_compteur
Case 3: .Interior.Color = RGB(255, 0, 0)
Case 2: .Interior.Color = RGB(255, 255, 0)
Case 1: .Interior.Color = RGB(0, 255, 0)
Case 0: .Interior.Color = RGB(128, 128, 128)
End Select
End With
Next
End Sub
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .