Colorer cellules à/c de la Nième

Bonjour,

je souhaiterais savoir comment utiliser une mise en forme pour colorer des cellules à compter d'une autre qui répond à un certain critère... bon j'ai joint une copie extralight de mon fichier.

Sur ce calendrier, je souhaiterais qu'à partir du 30ème code "ML", les cellules suivantes contenant "ML"(et uniquement les suivantes) soient colorées en rouge par exemple.

Ca parait tout bête, mais je cale.

Merci à tous

16mfc-forum.xlsx (11.99 Ko)

salut,

si cela te convient

Multhani a écrit :

salut,

si cela te convient

Merci Multhani,

ça pourrait me convenir en effet, mais peux-tu me dire ce que tu as fait ?


dax1977 a écrit :
Multhani a écrit :

salut,

si cela te convient

Merci Multhani,

ça pourrait me convenir en effet, mais peux-tu me dire ce que tu as fait ?

Je n'avais pas vu que tu étais passé par une macro, il me faudrait impérativement une MFC pour ce fichier

j'ai créer une boucle qui scrute toute les cellules a coté de la date et lorsque "ML" est présent un compteur s'incrémente.

Après si ta feuille change de mise en page, ca ne fonctionnera peut être plus, code a adapté...

Sub ml()
Dim c, colonne As Integer

c = 0
colonne = 2

Do
    For i = 5 To ActiveSheet.Cells(5, colonne).End(xlDown).Row
        If Cells(i, colonne + 1) = "ML" Then c = c + 1
        If Cells(i, colonne + 1) = "ML" And c > 30 Then Cells(i, colonne + 1).Interior.Color = RGB(255, 0, 0)
    Next i
    colonne = colonne + 5
Loop Until Cells(5, colonne) = ""

End Sub

OK compris, mais je dois vraiment passer par une MFC, pas de MACRO pour ce fichier.

Il faudrait que je puisse trouver la position du 90ème "ML" et colorier toutes les cellules "ML" suivantes...

Désolé mais je ne vois pas comment faire avec une MFC, pas sur que cela soit possible.

Bonjour,

Une MFC avec une formule comptant les ML dans cette disposition... la formule risque d'être un peu compliquée à mettre au point, et Multhani n'a pas tort de proposer de faire autrement...

Mais on peut combiner les deux : une fonction personnalisée qui compte les "ML" :

Function NBML(c As Range) As Long
    Dim n&, i%, iC%, kC%
    Application.Volatile
    iC = c.Row
    kC = c.Column
    With ActiveSheet
        For i = 3 To kC - 1 Step 5
            n = n + WorksheetFunction.CountIf(.Cells(5, i).Resize(31), "ML")
        Next i
        For i = 5 To iC
            n = n - (.Cells(i, kC) = "ML")
        Next i
    End With
    NBML = n
End Function

Et utiliser cette fonction pour définir la MFC. Formule conditionnelle :

=ET(C5="ML";nbml(C5)>30)

Cordialement.

Bon, je vais essayer avec la macro alors (mais je ne suis pas une pro du tout)

Dans mon calendrier, les codes "ML" se mettent dans la colonne E pour janvier, M pour février, U pour mars...

j'ai essayé de modifier la macro avec la colonne E au départ, mais je dois zapper qqch... quelqu'un peut-il m'aider à traduire ?

Merci beaucoup pour le temps consacré


En E3 le 1er janvier (pardon)

dax1977 a écrit :

Bon, je vais essayer avec la macro alors (mais je ne suis pas une pro du tout)

Dans mon calendrier, les codes "ML" se mettent dans la colonne E pour janvier, M pour février, U pour mars...

j'ai essayé de modifier la macro avec la colonne E au départ, mais je dois zapper qqch... quelqu'un peut-il m'aider à traduire ?

Merci beaucoup pour le temps consacré


En E3 le 1er janvier (pardon)

Bonjour,

j'ai réussi à adapter la macro à mon fichier réel, mais une dernière question subsiste : comment ajouter dans cette macro le fait qu'elle tienne compte également d'autres codes comme "MLH", "MLE" et "ML18" ?

Merci beaucoup


dax1977 a écrit :
dax1977 a écrit :

Bon, je vais essayer avec la macro alors (mais je ne suis pas une pro du tout)

Dans mon calendrier, les codes "ML" se mettent dans la colonne E pour janvier, M pour février, U pour mars...

j'ai essayé de modifier la macro avec la colonne E au départ, mais je dois zapper qqch... quelqu'un peut-il m'aider à traduire ?

Merci beaucoup pour le temps consacré


En E3 le 1er janvier (pardon)

Bonjour,

j'ai réussi à adapter la macro à mon fichier réel, mais une dernière question subsiste : comment ajouter dans cette macro le fait qu'elle tienne compte également d'autres codes comme "MLH", "MLE" et "ML18" ?

Merci beaucoup

Tout est ok

Merci

Adaptations :

Function NBML(c As Range) As Long
    Dim n&, i%, iC%, kC%
    Application.Volatile
    iC = c.Row
    kC = c.Column
    With ActiveSheet
        For i = 5 To kC - 1 Step 8
            n = n + WorksheetFunction.CountIf(.Cells(3, i).Resize(31), "ML*")
        Next i
        For i = 3 To iC
            n = n - (.Cells(i, kC) Like "ML*")
        Next i
    End With
    NBML = n
End Function

et :

=ET(NB.SI(E3;"ML*");nbml(E3)>30)

bonjour

tardivement ;mais sans VBA

3dax.xlsx (14.84 Ko)

cordialement

Rechercher des sujets similaires à "colorer nieme"