Bonjour,

Je ne comprends pas une chose, avec target :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 
    For Each Target In Range("M2:M200")
 
        For i = 5 To 260
 
            If Target.Value = i - 5 Then
 
                Target.Offset(0, 2).Interior.Color = RGB(Sheets("ConvertIndRGB").Cells(i, 2).Value, Sheets("ConvertIndRGB").Cells(i, 3).Value, Sheets("ConvertIndRGB").Cells(i, 4).Value)
            End If
        Next i
 
        Target.Offset(0, 1) = ConvCo(Target.Value)
    Next
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    For Each Target In Range("Q2:Q200")
 
        If Target.Value = "" Then
 
            Target.Value = " "
        End If
    Next
End Sub
Si je sélectionne une "S2" par exemple, je ne devrai pas rentrai dans le for each, si ? car c'est le cas au débogage.

Autre question, Pour le Target dans selection_change, les cellule prise en comptent sont les cellules sélectionnées juste avant le changement, j'imagine ? mais en débogage, pour arrêter le code il faut changer de cellule et du coup Target change, et pour le Pas à Pas, ça fausse tout. car mon code marche normalement mais pas en débogage.

Autre chose,
Ce code et lourd du fait de la fonction ConvCo()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Function ConvCo(ByRef aci As Integer)
 
    For i = 5 To 260
        If aci = Sheets("ConvertIndRGB").Cells(i, 1).Value Then
            ConvCo = Sheets("ConvertIndRGB").Cells(i, 2).Value & "," & Sheets("ConvertIndRGB").Cells(i, 3).Value & "," & Sheets("ConvertIndRGB").Cells(i, 4).Value
        End If
    Next i
End Function
et il prend 1 à 2 sec à chaque SelectionChange, donc je sais pas comment amélioré ça. j'ai mis la procédure principale dans Worksheet_Change(ByVal Target As Range) mais la procédure mais un temps infinie.

Voila je suis un peu dans le flou, je pense que mon code est mal construit mais je c'est pas quoi y faire.

Une derniere,

j'ai une cellule variable de type "255,0,255" sans guillemet
et dans mon 1er code j'ai la fonction RGB( ) comment les mettre en relation car RGB prend 3 variable et mon pas une.

Cette dernier question pourrai tout simplifier il me semble .
-----------------------------------------------------------