Simplifier la formule

Bonjour le Forum, je reviens vers vous, afin de savoir s'il était possible de simplifier les diverses formules ci dessous:

Je n'y comprends pas grand chose en VBA

Merci à vous

Cordialement

Fabien67

If Not Intersect(Target, [L8]) Is Nothing Then

Range("A15:I80").Interior.Color = RGB(250, 249, 227)

Range("A1:P10").Interior.Color = RGB(238, 232, 170)

Range("L8:O9").Interior.Color = RGB(255, 255, 102)

Range("B2").Interior.Color = RGB(0, 0, 0)

Range("G2").Interior.Color = RGB(0, 0, 0)

Range("L2").Interior.Color = RGB(0, 0, 0)

Range("N2").Interior.Color = RGB(0, 0, 0)

Set rCel = Range("A:A").Find(what:=Target, lookat:=xlWhole, LookIn:=xlValues)

If Not rCel Is Nothing Then

rCel.Offset(0, 0).Select

rCel.Offset(0, 0).Interior.ColorIndex = 42

rCel.Offset(0, 1).Interior.ColorIndex = 46

rCel.Offset(0, 2).Interior.ColorIndex = 46

rCel.Offset(0, 3).Interior.ColorIndex = 46

rCel.Offset(0, 4).Interior.ColorIndex = 46

rCel.Offset(0, 5).Interior.ColorIndex = 46

rCel.Offset(0, 6).Interior.ColorIndex = 46

rCel.Offset(0, 7).Interior.ColorIndex = 46

rCel.Offset(0, 8).Interior.ColorIndex = 46

End If

End If

'

End Sub

Bonsoir,

Un essai avec quelques explications :

If Not Intersect(Target, [L8]) Is Nothing Then
    Range("A15:I80").Interior.Color = RGB(250, 249, 227)
    Range("A1:P10").Interior.Color = RGB(238, 232, 170)
    Range("L8:O9").Interior.Color = RGB(255, 255, 102)
    ' dans un Range vous pouvez définir plusieurs cellules tout comme vous pouvez faire une sélection
    ' sur une feuille avec la touche [Ctrl] enfoncée pour sélectionner des cellules non contigues
    Range("B2;G2;L2;N2").Interior.Color = RGB(0, 0, 0)
    ' Range("G2").Interior.Color = RGB(0, 0, 0)
    ' Range("L2").Interior.Color = RGB(0, 0, 0)
    ' Range("N2").Interior.Color = RGB(0, 0, 0)
    Set rcel = Range("A:A").Find(what:=Target, lookat:=xlWhole, LookIn:=xlValues)
    If Not rcel Is Nothing Then
        ' rCel.Offset(0, 0).Select
        rcel.Interior.ColorIndex = 42

        ' ensuite pour les autres cellules avec une couleur identique
        ' soit vous modifiez la taille de la référence:
        rcel.Offset(0, 1).Resize(1, 7).Interior.ColorIndex = 46
        ' rCel.Offset(0, 2).Interior.ColorIndex = 46
        ' rCel.Offset(0, 3).Interior.ColorIndex = 46
        ' rCel.Offset(0, 4).Interior.ColorIndex = 46
        ' rCel.Offset(0, 5).Interior.ColorIndex = 46
        ' rCel.Offset(0, 6).Interior.ColorIndex = 46
        ' rCel.Offset(0, 7).Interior.ColorIndex = 46
        ' rCel.Offset(0, 8).Interior.ColorIndex = 46
        ' soit vous faites une boucle :
        For i = 1 To 8
            rcel.Offset(0, i).Interior.ColorIndex = 46
        Next i
    End If
End If

Attention ! Pas testé !

Evidemment tous ce qui est en vert est à supprimer après avoir votre choix, tout comme sur la deuxième partie, il ne faut garder qu'une des deux solutions proposée !

@ bientôt

LouReeD

Rechercher des sujets similaires à "simplifier formule"