Masquer une ligne selon un code de couleur avec VBA

Résolu
christ.lenoir Messages postés 39 Statut Membre -  
via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai déjà une macro qui masquer mes lignes sans problème selon une fonction si que j'ai instauré. Voici ma macro :

Sub Masquer_lignes_facturation()
'
   
' pour afficher les lignes
Cells.Select
Selection.EntireRow.Hidden = False
Columns("K:M").Select
Selection.EntireColumn.Hidden = False

' Pour masquer les lignes

Dim Ligne As Integer

For Ligne = 4 To 57
 If Cells(Ligne, 12) = "M" Then
 Rows(Ligne & ":" & Ligne).EntireRow.Hidden = True
 End If
Next

' Pour masquer la colonne L
    Columns("L:L").Select
    Selection.EntireColumn.Hidden = True

End Sub


J'aimerais l'améliorer en lui disant :

For Ligne = 4 To 57
If Cells(Ligne, 12) = "COULEUR GRIS" Then
Rows(Ligne & ":" & Ligne).EntireRow.Hidden = True
End If

Toutefois je ne sais pas comment faire cela...

Merci d'avance

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

2 réponses

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonsoir chris.lenoir

    Le code :
    For Ligne = 4 To 57
    If Cells(Ligne, 12).Interior.ColorIndex = 16 Then
    Rows(Ligne & ":" & Ligne).EntireRow.Hidden = True
    End If
    Next

    16 étant le code couleur du gris foncé

    Pour autre gris employer le code adéquat

    Cdlmnt
    Via
    "L'imagination est plus importante que le savoir."    A. Einstein
    3
    1. christ.lenoir Messages postés 39 Statut Membre
       
      Bonjour,

      merci beaucoup.

      Avez-vous une charte pour les codes de couleur puisque ça ne marche pas mais ça doit seulement être à cause que le gris n'est pas exactement pareil ?

      Merci encore
      0
      1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759 > christ.lenoir Messages postés 39 Statut Membre
         
        On la trouve facilement sur le net :

        je joins une image des 56 couleurs à mon premier message
        0
    2. christ.lenoir Messages postés 39 Statut Membre
       
      C'est beau j'ai trouvé ça fonctionne ! Merci beaucoup :)
      0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour

    tu as plusieurs gris dans la palette (codés 15 16, 48)

    Const gris1 = 15
    Const gris2 = 16
    Const gris3 = 48
    
    Sub ok()
    For ligne = 4 To 57
      ' pour le fond
      If Cells(ligne, 12).Interior.ColorIndex = gris1 Then
        Rows(ligne).Hidden = True
      End If
      ' pour la police
      If Cells(ligne, 12).Font.ColorIndex = gris1 Then
        Rows(ligne).Hidden = True
      End If
    Next ligne
    End Sub


    Cdlmnt
    0