Bonjour,

J'utilise une macro qui colore des cellules en fonction du texte.
Mon soucis est que le texte des cellules a colorer change par liaison par une saisie sur une autre feuille.....Bref je ne sélectionne pas de cellule et donc sans selection ma macro ne fonctionne pas (grrrrrrrr!!!!)
Comment pourrait on faire pour que la macro s'execute automatiquement dès que le texte change dans la cellule (J'insiste sur le fait que le texte change par liaison et que les cellule ne sont donc pas actives)

Un grand merci d'avance pour ceux qui m'apporteront la solution .

Voici ma macro ci dessous :

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
24
25
26
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Dim i As Integer, j As Long, Mfc As FormatCondition, c As Range, Ws1 As Worksheet
    On Error GoTo fin ' en cas de mauvaise manipulation, ça plante sur l'ordre suivant
    Application.EnableEvents = False
    Set Ws1 = Sheets("MFC")
    For i = 1 To Target.FormatConditions.Count
        Set Mfc = Target.FormatConditions(i)
        If UCase(Left(Mfc.Formula1, 7)) = "=MA_MFC" Then
            Ws1.Range("A1").Value = Target.Value
            Set c = Nothing
            For j = 2 To Ws1.Range("A65536").End(xlUp).Row
                If Ws1.Range("A" & j) = True Then
                    Set c = Ws1.Range("A" & j)
                    Exit For
                End If
            Next j
            If c Is Nothing Then Set c = Ws1.Range("A1")
            c.Copy
            Target.PasteSpecial (xlPasteFormats)
            Application.CutCopyMode = False
        End If
    Next i
    Application.EnableEvents = True
fin:
    On Error GoTo 0
End Sub