Bonjour
1. Dans votre code Sub precedent, remplacez
Call y, z, Ai, Ah
par
Call test
2. Ajoutez ce code dans le module
Sub test()
Dim i As Byte
Dim col As Byte 'variable pour définir le numéro de colonne
Dim c As Long
'remettre a 0 donnees de la ligne 3 en colonnes 25, 26, 34 et 35
Range(Cells(3, 25), Cells(3, 26)).ClearContents
Range(Cells(3, 34), Cells(3, 35)).ClearContents
With Workbooks("TABLEAU SUIVI TRAVAUX DOLE.xlsx").Sheets("SUIVI")
For i = 1 To 150 'boucle de la ligne 1 à la ligne 150
Select Case .Cells(i, 1).Value 'on définit comme critère la valeur inscrite en cellule i de la colonne 1 (colonne A)
Case "IMB" 'cas où la cellule contient IMB
Select Case .Cells(i, 1).Interior.Color 'si cellule contient IMB on vérifie la couleur
Case Is = xlNone: col = 25 'cas sans couleur - on attribue 25 à la variable colonne
Case Is = RGB(164, 194, 244): col = 26 'cas avec couleur - on attribue 26 à la variable colonne
End Select
Case "PBRUE" 'cas où la cellule contient PBRUE
Select Case .Cells(i, 1).Interior.Color 'si cellule contient PBRUE on vérifie la couleur
Case Is = xlNone: col = 34 'cas sans couleur - on attribue 34 à la variable colonne
Case Is = RGB(164, 194, 244): col = 35 'cas avec couleur - on attribue 35 à la variable colonne
End Select
End Select
On Error Resume Next 'gestion d'erreur pour éviter un message excel si une erreur se produit
Cells(3, col) = Cells(3, col) + 1 'on ajoute 1 à la valeur de la cellule (ligne 3, colonne définie par la variable col)
col = 0 'on remet col à 0 avant de passer à la ligne suivante
On Error GoTo 0 'annule la gestion d'erreur
Next i 'on passe à la ligne suivante
End With
End Sub