Travail à faire sur Excel et en VBA boucle pour mettre en couleur

Bonjour à tous,

Je met ci-dessous la consigne que je suis sensé réaliser avec ce que j'ai déjà fait et la table sur laquelle ça porte.

J'ai deux questions, d'abord, comment faire pour exécuter une macro sur Excel ? Pour voir si ce que j'ai fais fonctionne ou non.

Et ma deuxième est, comme j'imagine que mon code ne va pas fonctionner (sinon c'est pas drôle), qu'est-ce que j'aurais pu faire comme erreur de syntaxe ? Je pense que ma logique est la bonne mais voilà.

info 3 info 1 info 2

bonjour, un MFC est plus facile et fonctionne mieux, mais ...

Sub Taume()
     Dim c     As Range
     For Each c In Sheets("ouvrages").Columns("B").SpecialCells(xlConstants) 'cellules avec contenu et non-formules
          If c.Row > 1 Then
               If c.Offset(, 10).Value = 0 Then
                    c.Font.Color = RGB(0, 0, 255)     'bleu quand qte=0
               Else
                    If c.Offset(, 11).Value / c.Offset(, 10).Value >= 0.75 Then
                         c.Font.Color = RGB(255, 0, 0)     'rouge quand >=75%
                    Else
                         c.Font.Color = RGB(0, 255, 0)     'le reste =vert
                    End If
               End If
          End If
     Next
End Sub

Merci beaucoup de la réponse ! Je me permet juste de demander c'est quoi un MFC ? Et aussi, à quoi sert la fonction c.Offset ?

MFC = mise en forme conditionnelle https://www.excel-pratique.com/fr/formation-excel/mise-en-forme-conditionnelle

Excel change la forme sans intervention, donc sans votre macro, voir PJ : la couleur d'arrière-plan est fait avec MFCs, donc si vous modifiez queleque chose dans les colonnes L:M, ça change directement la couleur, on doit lancer la macro manuellement ou on doit ajouter une macro qui se lance automatiquement.

Offset, https://learn.microsoft.com/fr-fr/office/vba/api/excel.range.offset, cela vous permet de décaler à partir d'une cellule ou plage. ici la colonne L et M sont 10 et 11 colonnes à droite de la colonne B, donc si par exemple je traite pour le moment B5, alors avec les offset en colonnes de 10 et 11, je regarde aux cellules L5 et M5.

Aaaah oui, je vois c eque vous voulez dire. En effet, ça fonctionnerait mieux mais malheureusement ce n'est pas de l'avis de mes professeurs.

D'accord, je vois, merci beaucoup des explications !!

Rechercher des sujets similaires à "travail vba boucle mettre couleur"