Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
891 connectés 

 



Dernière réponse
Sujet : VBA Excel : surligner
Samourai Bonjour.

 

Dans excel, je chercherais à surligner une ligne en fonction de la valeur du champ de la colonne 2 de cette ligne.

 

Je pense avoir un truc qui tient la route.

 

Problème : quand la valeur n'est pas trouvée, la macro bug...

 

Pourriez vous svp m'aider à améliorer cela pour que la macro ne fasse simplement RIEN si elle ne trouve pas la valeur?

 

Merci pour votre aide.
 :hello:

 
Citation :

Sub Macro6()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim PL1 As Range 'déclare la variable PL1 (Plage1)
Dim PL2 As Range 'déclare la variable PL2 (Plage2)

 

Application.ScreenUpdating = False 'masque les rafraîchissements d'écran
Set O = Worksheets("4- Department" ) 'définit l'onglet O
Set PL1 = O.Range("A1" ).CurrentRegion 'définit la plage PL1
'PL1.Interior.ColorIndex = xlNone 'supprime les couleurs dans la plage PL1
Set PL2 = PL1.Offset(1, 0).Resize(PL1.Rows.Count - 1, PL1.Columns.Count) 'définit la plage PL2 (PL1 sans les en-têtes)
PL1.CurrentRegion.AutoFilter 'supprime un éventuel filtre automatique
PL1.AutoFilter Field:=2, Criteria1:="Nouvelle modif par Interface" 'filtre la plage PL1 avec "Nouvelle modif par Interface" comme critère dans la colonne 6
With PL2.SpecialCells(xlCellTypeVisible).Interior 'prend en comple l'intérieur des cellules visibles de la plage PL2
    .Pattern = xlSolid 'paramètre couleur
    .PatternColorIndex = xlAutomatic 'paramètre couleur
    .ThemeColor = xlThemeColorAccent6 'paramètre couleur
    .TintAndShade = 0.799981688894314 'paramètre couleur
    .PatternTintAndShade = 0 'paramètre couleur
End With 'fin de la prise ene compte...
PL1.AutoFilter Field:=2, Criteria1:="Nouvelle modif HORS Interface" 'filtre la plage PL1 avec "Nouvelle modif HORS Interface" l comme critère dans la colonne 6
With PL2.SpecialCells(xlCellTypeVisible).Interior 'prend en comple l'intérieur des cellules visibles de la plage PL2
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent4
        .TintAndShade = 0.799981688894314
        .PatternTintAndShade = 0
End With 'fin de la prise ene compte...
PL1.AutoFilter 'supprime le filtre automatique
Application.ScreenUpdating = True 'affiche les rafraîchissements d'écran
Application.ScreenUpdating = False 'masque les rafraîchissements d'écran
End Sub


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Samourai Bonjour.

 

Dans excel, je chercherais à surligner une ligne en fonction de la valeur du champ de la colonne 2 de cette ligne.

 

Je pense avoir un truc qui tient la route.

 

Problème : quand la valeur n'est pas trouvée, la macro bug...

 

Pourriez vous svp m'aider à améliorer cela pour que la macro ne fasse simplement RIEN si elle ne trouve pas la valeur?

 

Merci pour votre aide.
 :hello:

 
Citation :

Sub Macro6()
Dim O As Worksheet 'déclare la variable O (Onglet)
Dim PL1 As Range 'déclare la variable PL1 (Plage1)
Dim PL2 As Range 'déclare la variable PL2 (Plage2)

 

Application.ScreenUpdating = False 'masque les rafraîchissements d'écran
Set O = Worksheets("4- Department" ) 'définit l'onglet O
Set PL1 = O.Range("A1" ).CurrentRegion 'définit la plage PL1
'PL1.Interior.ColorIndex = xlNone 'supprime les couleurs dans la plage PL1
Set PL2 = PL1.Offset(1, 0).Resize(PL1.Rows.Count - 1, PL1.Columns.Count) 'définit la plage PL2 (PL1 sans les en-têtes)
PL1.CurrentRegion.AutoFilter 'supprime un éventuel filtre automatique
PL1.AutoFilter Field:=2, Criteria1:="Nouvelle modif par Interface" 'filtre la plage PL1 avec "Nouvelle modif par Interface" comme critère dans la colonne 6
With PL2.SpecialCells(xlCellTypeVisible).Interior 'prend en comple l'intérieur des cellules visibles de la plage PL2
    .Pattern = xlSolid 'paramètre couleur
    .PatternColorIndex = xlAutomatic 'paramètre couleur
    .ThemeColor = xlThemeColorAccent6 'paramètre couleur
    .TintAndShade = 0.799981688894314 'paramètre couleur
    .PatternTintAndShade = 0 'paramètre couleur
End With 'fin de la prise ene compte...
PL1.AutoFilter Field:=2, Criteria1:="Nouvelle modif HORS Interface" 'filtre la plage PL1 avec "Nouvelle modif HORS Interface" l comme critère dans la colonne 6
With PL2.SpecialCells(xlCellTypeVisible).Interior 'prend en comple l'intérieur des cellules visibles de la plage PL2
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .ThemeColor = xlThemeColorAccent4
        .TintAndShade = 0.799981688894314
        .PatternTintAndShade = 0
End With 'fin de la prise ene compte...
PL1.AutoFilter 'supprime le filtre automatique
Application.ScreenUpdating = True 'affiche les rafraîchissements d'écran
Application.ScreenUpdating = False 'masque les rafraîchissements d'écran
End Sub


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR