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 une solution .
Voici ma macro ci dessous :
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