Bonjour,
Je rebondis sur ce post, car je suis parti du code fourni par LouReed pour un nouveau besoin, sauf que je bloque sur un point.
Le script : il vérifie si les cellules des colonnes pré-renseignées sont vides et lorsque c'est le cas, il les colore et écrit dans une colonne/cellule le mot partiel.
J'aimerais que le script lorsque les conditions ci-dessus ne sont pas réunies mettent les cellules en vert et écris "complet" au lieu de partiel, ci-dessous un extrait :
Sub Verif() '(partiel) sur champs vide
'Déclaration des types de variables
Dim Derligne As Long, I As Long, J As Integer, Tablo
'Création de la variable qui donne la dernière ligne du tableau
Derligne = Range("D2").End(xlDown).Row
' les chiffres dans tablo repésente les numéros de colonnes a controler
Tablo = Array(13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 47, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 68, 71, 73, 75, 76, 77, 78, 80, 82, 83, 88, 90, 91, 93, 94, 96, 101, 103, 107, 109, 111, 113, 114, 116, 117, 119, 120, 121, 122)
'I représente la cellule de départ de la boucle jusqu'a la derniere cellule de la derniere ligne du tableau
For I = 2 To Derligne
'Verifie Si dans la colonne numéro 8(H) la valeur et "A chaud" si non stop si oui on continue
If Cells(I, 8).Value = "A chaud" Then
For J = 0 To UBound(Tablo)
'Si dans les cellule des colonnes du tablo la valeur est "vide" colore les celulles vide et écrire "partiel" dans les cellules de la colonne complétude
If Cells(I, Tablo(J)).Value = "" Then
Cells(I, Tablo(J)).Interior.Color = RGB(255, 198, 140): Cells(I, 1).Interior.Color = RGB(255, 198, 140): Cells(I, 2).Interior.Color = RGB(255, 198, 140): Cells(I, 123).Interior.Color = RGB(255, 198, 140): Cells(I, 123) = "Partiel"
End If
'Recommence les actions de la boucle For J
Next J
' Recommence la verification de la valeur A chaud
End If
' Recommence la boucle For I
Next I
Verif_incoDeux
End Sub
Sub Verif_IncoDeux()
'Déclaration des types de variables
Dim Derligne As Long, I As Long, J As Integer, Tablo
'Création de la variable qui donne la dernière ligne du tableau
Derligne = Range("D2").End(xlDown).Row
' les chiffres dans tablo repésente les numéros de colonnes a controler
Tablo = Array(13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 45, 47, 48, 49, 50, 51, 53, 54, 55, 56, 57, 58, 59, 60, 62, 63, 64, 65, 66, 67, 68, 71, 73, 75, 76, 77, 78, 80, 82, 83, 88, 90, 91, 93, 94, 96, 101, 103, 107, 109, 111, 113, 114, 116, 117, 119, 120, 121, 122)
'I représente la cellule de départ de la boucle jusqu'a la derniere cellule de la derniere ligne du tableau
For I = 2 To Derligne
'Verifie Si la valeur dans la colonne numéro 8(H) est "A chaud" alors suivant sinon stop
If Cells(I, 8).Value = "A chaud" And Cells(I, 123).Value <> "Partiel" Then
'Pour chaque numéro de colonne de la variable Tablo
For J = 0 To UBound(Tablo)
'Si dans les cellule des colonnes du tablo la valeur n'est pas "vide" colore les celulles vide en vert et écrire "complet" dans les cellules de la colonne complétude
If Not IsEmpty(Cells(I, Tablo(J))) Then
Cells(I, Tablo(J)).Interior.Color = RGB(0, 255, 128): Cells(I, 1).Interior.Color = RGB(0, 255, 128): Cells(I, 2).Interior.Color = RGB(0, 255, 128): Cells(I, 123) = "Complet": Cells(I, 123).Interior.Color = RGB(0, 255, 128)
End If
'Recommence les actions de la boucle For J
Next J
' Recommence la verification de la valeur A chaud
End If
' Recommence la boucle For I
Next I
End Sub
Pour ce qui est du problème, le script s'exécute bien sans erreurs, les champs partiels sont bien renseignés sauf les dits "complets".