Bonjour, bonjour !
Envoyé par
Leilou65
Voici le code :
Mais quelle horreur ce code ! Que de boucles inutiles et lentes !
Je t'ai pourtant fourni un code efficace dans ta discussion précédente dans lequel il suffit pourtant juste d'utiliser le B-A-BA d'Excel,
à savoir ajouter une simple formule de calculs évitant ainsi encore une boucle !
Donc à partir du code de la discussion précédente :
1 2 3 4 5 6 7 8 9 10 11 12 13
| Sub Demo2()
Const C = 12, S = 10
Dim Rg As Range, Rf As Range
Set Rg = Feuil1.Cells(3)
Do Until Rg.Value = ""
Set Rf = Feuil1.Columns(3).Find("Total ", Rg, xlValues, xlPart)
If Rf(1, C).Value > S Then
If Application.CountIf(Range(Rg(1, C), Rf(0, C)), "<0") Then Range(Rg(1, -1), Rf(1, C)).Interior.ColorIndex = 6
End If
Set Rg = Rf(2)
Loop
Set Rg = Nothing: Set Rf = Nothing
End Sub |
Voilà, voilà !
___________________________________________________________________________________________________________
Merci de cliquer sur
pour chaque message ayant aidé puis sur
pour clore cette discussion …
___________________________________________________________________________________________________________
Je suis Paris, London, Istanbul, Berlin, Nice, Bruxelles, Charlie, …
Partager